美文网首页
Webpack4 快速入门

Webpack4 快速入门

作者: 等你一句晚安 | 来源:发表于2018-08-29 14:49 被阅读0次

    Webpack 4

     webpack 4有很多新的特性。

    1. 不再必须有配置文件

    2. 产品模式和开发模式 (production and development mode)

    3. 覆写默认的入口路径/导出路径

    4. 使用Webpack 4 编译ES6代码

    4.1. 使用配置文件来加载loader

    4.2. 不使用配置文件来加载loader

    5. HTML Webpack插件

    6. 提取CSS到文件中

    7. Webpack 开发服务器

    8. 参考资料

    1. 不再必须有配置文件

    好消息:webpack 4 doesn’t need a configuration file. Webpack 4不再必须需要一个配置文件了!

    如果没有配置文件,Webpack 4会默认.src/index.js为入口文件。

    2. 产品模式和开发模式 (production and development mode)

    webpack4 引入了产品模式和开发模式的概念。

    只需要在打包命令中加入参数,例如:

    $ webpack --mode development

    $ webpack --mode production

    webpack就会以不同模式打包文件。

    产品模式提供了开箱即用的一些优化配置,包括minification, scope hoisting, tree-shaking以及更多。

    3. 覆写默认的入口路径/导出路径

    直接上代码:

    "scripts": {"dev":"webpack --mode development ./foo/src/js/index.js --output ./foo/main.js","build":"webpack --mode production ./foo/src/js/index.js --output ./foo/main.js"}

    4. 使用Webpack 4 编译ES6代码

    4.1. 使用配置文件来加载loader

    Webpack的loader之一babel-loader可以完成这个工作。

    使用babel-loader之前需要安装一下依赖:

    babel-core

    babel-loader

    babel-preset-env

    npmibabel-core babel-loader babel-preset-env --save-dev

    接下来通过新建一个新文件.babelrc来配置Babel。

    在文件中输入以下内容:

    {"presets": ["env"]}

    4.2. 不使用配置文件来加载loader

    "scripts": {"dev":"webpack --mode development --module-bind js=babel-loader","build":"webpack --mode production --module-bind js=babel-loader"}

    --module-bind允许你在命令行中声明要加载的loader

    5. HTML Webpack插件

    Webpack使用两个额外组件来处理HTML:html-webpack-plugin 和 html-loader。

    加载依赖项:

    npm i html-webpack-plugin html-loader --save-dev

    配置文件:

    const HtmlWebPackPlugin = require("html-webpack-plugin");module.exports = {  module:{    rules:[      {        test:/.js$/,        exclude:/node_modules/,        use:{          loader:"babel-loader"}      },      {        test:/.html$/,        use:[          {            loader:"html-loader",            options:{ minimize: true }          }        ]      }    ]  },  plugins:[    new HtmlWebPackPlugin({      template:"./src/index.html",      filename:"./index.html"})  ]};

    不用手动将JavaScript文件插入到HTML文件中。打包后的文件将会被自动插入。

    6. 提取CSS到文件中

    需要用到以下组件:

    mini-css-extract-plugin

    css-loader

    安装依赖:

    npm i mini-css-extract-plugin css-loader --save-dev

    配置文件:

    const HtmlWebPackPlugin = require("html-webpack-plugin");const MiniCssExtractPlugin = require("mini-css-extract-plugin");module.exports = {  module:{    rules:[      {        test:/.js$/,        exclude:/node_modules/,        use:{          loader:"babel-loader"}      },      {        test:/.html$/,        use:[          {            loader:"html-loader",            options:{ minimize: true }          }        ]      },      {        test:/.css$/,        use:[MiniCssExtractPlugin.loader,"css-loader"]      }    ]  },  plugins:[    new HtmlWebPackPlugin({      template:"./src/index.html",      filename:"./index.html"}),    new MiniCssExtractPlugin({      filename:"[name].css",      chunkFilename:"[id].css"})  ]};

    7. Webpack 开发服务器

    在设置好webpack dev server之后。你的应用将在浏览器中自动启动。

    在每次修改文件后,浏览器窗口也会自动刷新。

    安装依赖项

    npm i webpack-dev-server --save-dev

    package.json中的配置代码

    "scripts": {"start":"webpack-dev-server --mode development --open","build":"webpack --mode production"}

    相关文章

      网友评论

          本文标题:Webpack4 快速入门

          本文链接:https://www.haomeiwen.com/subject/satkwftx.html