webpack 之 概念(1)

简介: webpack 之 概念(1)

009ae438fccd413e87869c35cb0d6967.png


入口


指从那个文件开始打包(根据这个文件开始生成依赖图),默认值是 ./src/index.js,可以通过在配置文件(webpack.config.js)中配置 entry 属性,来指定一个(或多个)不同的入口起点。例如:


module.exports = {
  entry: './src/index.js',
};


输出


告诉 webpack 它所打包后的文件放在哪里,以及如何命名这些文件


必须是绝对路径,所以这里引入了 path 包


const path = require('path');
module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, 'output'),
    filename: 'index.bundle.js',
  },
};


loader


webpack 只能理解 JavaScript 和 JSON 文件。loader 让 webpack 能够去处理其他类型的文件

loader 有两个属性:


●test 属性,识别出哪些文件会被转换

●use 属性,定义出在进行转换时,应该使用哪个 loader


例子:


const path = require('path');
module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, 'output'),
    filename: 'index.bundle.js',
  },
  module: {
    rules: [{ test: /\.txt$/, use: 'raw-loader' }],
  },
};



插件


loader 用于转换某些类型的模块,而插件则可以用于执行范围更广的任务。包括:打包优化,资源管理,注入环境变量


想要使用一个插件,你只需要 require() 它,然后把它添加到 plugins 数组中。多数插件可以通过传参(option)自定义。


const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
  module: {
    rules: [{ test: /\.txt$/, use: 'raw-loader' }],
  },
  plugins: [new HtmlWebpackPlugin({ template: './src/index.html' })],
};


在上面的示例中,html-webpack-plugin 为应用程序生成一个 HTML 文件,并自动将生成的所有 打包后的文件 注入到此文件中。参数template 为默认模板


模式


通过选择 development, production 或 none 之中的一个,来设置 mode 参数,你可以启用 webpack 内置在相应环境下的优化。其默认值为 production


module.exports = {
  mode: 'production',
};


浏览器兼容性


Webpack 支持所有符合 ES5 标准 的浏览器(不支持 IE8 及以下版本)。webpack 的 import() 和 require.ensure() 需要 Promise。如果你想要支持旧版本浏览器,在使用这些表达式之前,还需要 提前加载 polyfill。


环境(environment)


Webpack 5 运行于 Node.js v10.13.0+ 的版本


目录
相关文章
|
缓存 JSON 前端开发
【Vue五分钟】五分钟了解webpack的高级概念
其实如果配置了 useBuiltIns 就不会需要再 import babel profill。 实际上目前的话虽然只是引入了某个模块的某个方法,在打 包还是会把模块的所有方法引入,最好是引入什么打包什么, 这就需要 tree shaking,摇掉不需要的内容。
【Vue五分钟】五分钟了解webpack的高级概念
|
资源调度 JavaScript 前端开发
webpack 的概念和基础使用
webpack 的概念和基础使用
186 31
|
JavaScript
Vue课程4-了解webpack的概念
Vue课程4-了解webpack的概念
69 0
Vue课程4-了解webpack的概念
|
Web App开发 JavaScript 前端开发
|
1月前
|
JavaScript 前端开发
webpack成长指北第9章---webpack如何对icon字体进行打包
webpack成长指北第9章---webpack如何对icon字体进行打包
31 1
|
1月前
|
前端开发 JavaScript
webpack成长指北第7章---webpack的css\less\scss样式打包
webpack成长指北第7章---webpack的css\less\scss样式打包
41 0
|
1月前
|
前端开发 JavaScript
webpack成长指北第8章---webpack的CSS Modules打包
webpack成长指北第8章---webpack的CSS Modules打包
19 0
|
4月前
webpack 使用打包报错 ERROR in node_modules\@types\node\ts4.8\assert.d.ts
webpack 使用打包报错 ERROR in node_modules\@types\node\ts4.8\assert.d.ts
108 0
|
4月前
|
JavaScript 数据库
使用 Webpack 打包 node 程序,node_modules 真的被干掉啦
使用 Webpack 打包 node 程序,node_modules 真的被干掉啦
70 0
|
7月前
|
JavaScript
Webpack4 创建项目以及打包一个JS文件
Webpack4 创建项目以及打包一个JS文件
69 0