博客列表 >webpack系列(1)--入门

webpack系列(1)--入门

疯狂电脑10086的博客
疯狂电脑10086的博客原创
2020年06月07日 21:08:54956浏览

入门

webpack的全局安装

  • 执行如下命令
    npm i webpack webpack-cli -g
    不推荐webpack的全局安装,因为有可能运行的项目不是同一个webpack版本打包的

  • 卸载webpack

    npm uninstall webpack webpack-cli -g

webpack项目内安装

  • 首先在项目中执行命令:

    npm init

  • package.json文件中添加"private":true,

  • 删除"main:index.js"

  • 安装webpack

    npm i webpack webpack-cli -D

这个时候,不能直接执行webpack -v,必须要使用npx webpack -v才能执行,npx帮助我们在当前目录下寻找webpack

安装其他版本的webpack

  • 查看一个包的版本

    npm info webpack

  • 安装其他版本
    npm i webpack@版本号 webpack-cli -D

这样,我们就能在不同的项目中使用不同版本的webpack

使用webpack

  • 新建index.js,header.js,footer.js文件如下:

    • header.js
    1. export default class Header{
    2. constructor(){
    3. let div = document.createElement("div")
    4. div.innerText = "这是header"
    5. document.body.appendChild(div)
    6. }
    7. }
    • footer.js
    1. export default class Footer{
    2. constructor(){
    3. let div = document.createElement("div")
    4. div.innerText = "这是footer"
    5. document.body.appendChild(div)
    6. }
    7. }
    • index.js
    1. import Header from "./header"
    2. import Footer from "./footer"
    3. new Header()
    4. new Footer()

    执行命令 npx webpack index.js,这实际上使用了webpack的默认配置文件在打包

webpack配置文件

执行npx webpack报错,因为不知道webpack的入口文件在哪儿

编写webpack配置文件

  • 创建webpack.config.js

    1. const path = require("path")
    2. module.exports = {
    3. entry:"./index.js",
    4. output:{
    5. filename:"bundle.js",
    6. path:path.resolve(__dirname,"bundle")
    7. }
    8. }
  • 执行npx webpack即可

需要注意的是,webpack执行的是全局环境下的命令;npx webpack 执行的是当前项目下的webpack命令

指定webpack的配置文件

webpack的默认配置文件是webpack.config.js,如果不是这个文件名,需要指定配置文件,在package.jsonscripts中:

npx webpack --config webpackconfig.js

优化项目目录

  1. |-- webpack-demo(new)
  2. |-- .gitignore
  3. |-- README.md
  4. |-- index.html
  5. |-- package-lock.json
  6. |-- package.json
  7. |-- webpack.config.js
  8. |-- dist
  9. | |-- bundle.js
  10. |-- src // 源码目录
  11. |-- footer.js
  12. |-- header.js
  13. |-- index.js

修改webpack.config.js文件

  1. const path = require("path")
  2. module.exports = {
  3. mode:"development" // production
  4. entry:"./src/index.js",
  5. output:{
  6. filename:"bundle.js",
  7. path:path.resolve(__dirname,"dist"),
  8. }
  9. }

简化打包命令

  • 在package.json文件的scripts中:
  1. "bundle":"npx webpack"
  • 执行 npm run bundle 即可
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议