webpack ---- 打包发布

简介: webpack ---- 打包发布

5打包发布

5.1为什么要打包发布

项目开发完成之后,使用webpack对项目进行打包发布的主要原因有以下两点:

开发环境下,打包生成的文件存放于内存中,无法获取到最终打包生成的文件

开发环境下,打包生成的文件不会进行代码压缩和性能优化

5.2配置webpack的打包发布

在package.json文件的scripts节点下,新增build命令如下:

"scripts" : {
  "dev" : "webpack serve",  //开发环境中,运行
  "build": "webpack --mode production"  //项目发布时,运行 build命令
}

–model是一个参数项,用来指定webpack的运行模式。production代表生产环境,会对打包生成的文件进行代码压缩和性能优化。

注意:通过–model指定的参数项,会覆盖webpack.config.js 中的model选项。

5.3把JavaScript文件统一生成到js目录中

在 webpack.config.js 配置文件的 output节点中,进行如下的配置:

module.exports中

output: {
  path: path.join( __dirname, 'dist'),
  //明确告诉webpack把生成的 main.js 文件存放到 dist目录下的 js 子目录中
  filename: 'js/main.js',
}

5.4把图片文件统一生成到image目录中

module: { //所有第三方文件模块的匹配规则
  rules: [ //文件后缀名的匹配规则
    { 
      test: /\.jpg|png|gif$/,
      use: {
        //通过loader属性指定调用的loader
        loader: 'url-loader',
        //通过option属性指定参数
        options: {
          limit: 22229,
          outputPath: 'image'
        }
      }
    }
  ]
}

{ test:/\.jpg|png|gif$/, use: 'url-loader?limit=22229&outputPath=images' }

5.5自动清理dist目录下的旧文件

为了在每次打包发布时自动清理掉dist目录中的旧文件,可以安装并配置 clean-webpack-plugin 插件

5.5.1安装清理dist目录的 webpack插件

npm install clean-webpack-plugin -D

5.5.2配置

在 webpack.config.js 配置文件

module.exports中

const { CleanWebpackPlugin } = require( 'clean-webpack-plugin')
const cleanPlugin = new CleanWebpackPlugin()
//把创建的 cleanPlugin 插件实例对象,挂载到plugins节点中
plugins: [htmlPlugin,cleanPlugin],  //挂载插件

下一篇

webpack ---- Source Map

相关文章
|
3月前
|
JavaScript
webpack打包TS
webpack打包TS
138 60
|
2月前
|
缓存 前端开发 JavaScript
Webpack 打包的基本原理
【10月更文挑战第5天】
|
2月前
|
前端开发 JavaScript
ES6模块化和webpack打包
【10月更文挑战第5天】
|
2月前
|
缓存 前端开发 JavaScript
深入了解Webpack:模块打包的革命
【10月更文挑战第11天】深入了解Webpack:模块打包的革命
|
3月前
|
JavaScript 测试技术 Windows
vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)
本文介绍了如何使用vue-cli和webpack为Vue项目配置不同的生产和测试环境,包括修改`package.json`脚本、使用`cross-env`处理环境变量、创建不同环境的`.env`文件,并在`webpack.prod.conf.js`中使用`DefinePlugin`来应用这些环境变量。
151 2
vue配置webpack生产环境.env.production、测试环境.env.development(配置不同环境的打包访问地址)
|
2月前
|
缓存 前端开发 JavaScript
Webpack技术深度解析:模块打包与性能优化
【10月更文挑战第13天】Webpack技术深度解析:模块打包与性能优化
|
2月前
|
前端开发 JavaScript 开发者
深入了解Webpack:现代JavaScript应用的打包利器
【10月更文挑战第11天】 深入了解Webpack:现代JavaScript应用的打包利器
|
3月前
|
缓存
webpack 打包多页面应用
webpack 打包多页面应用
26 1
|
3月前
webpack 打包多页面应用
webpack 打包多页面应用
|
3月前
|
前端开发 开发者
在前端开发中,webpack 作为一个强大的模块打包工具,为我们提供了丰富的功能和扩展性
【9月更文挑战第1天】在前端开发中,Webpack 作为强大的模块打包工具,提供了丰富的功能和扩展性。本文重点介绍 DefinePlugin 插件,详细探讨其原理、功能及实际应用。DefinePlugin 可在编译过程中动态定义全局变量,适用于环境变量配置、动态加载资源、接口地址配置等场景,有助于提升代码质量和开发效率。通过具体配置示例和注意事项,帮助开发者更好地利用此插件优化项目。
85 13