下面看下webpack打包js文件的实现代码
const path = require('path') const webpack = require('webpack') const htmlWebpackPlugin = require('html-webpack-plugin') // 每次打包之前,自动删除文件夹 const cleanWebpackPlugin = require('clean-webpack-plugin') // 分离 css 到独立的文件中 const ExtractTextPlugin = require("extract-text-webpack-plugin"); // 压缩 css 资源文件 const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin') module.exports = { // 入口 entry: { // 项目代码入口 app: path.join(__dirname, './src/js/main.js'), // 第三方包入口 vendor: ['vue', 'vue-router', 'vue-resource', 'vuex', 'moment', 'mint-ui', 'vue-preview'] }, // 出口 output: { path: path.join(__dirname, './dist'), // 设置公共路径 publicPath: '/', // 此处的name由 entry 中的属性名决定 // chunk 表示一个代码块(webpack模块化分析代码后的结构) filename: 'js/[name].[chunkhash].js', // ------添加 chunkFilename, 指定输出js文件的名称------ chunkFilename: 'js/[name].[chunkhash].js', }, // 配置loader,处理不同的静态资源 module: { rules: [ { test: /\.js$/, use: 'babel-loader', exclude: /node_modules/ }, { test: /\.css$/, // 抽离和压缩css use: ExtractTextPlugin.extract({ fallback: "style-loader", use: "css-loader" }) }, { test: /\.(sass|scss)$/, // 抽离和压缩 scss use: ExtractTextPlugin.extract({ fallback: "style-loader", use: ['css-loader', 'sass-loader'] }) }, { test: /\.(png|jpg|jpeg|gif|bmp|webp)$/, use: { loader: 'url-loader', options: { limit: 6518, // name: 'images/imgs-[hash:7].[ext]' // [name] 使用图片的名称作为最终生成的文件名称 // [ext] 使用图片的默认后缀 // name: '[name].[ext]' // images/ 表示图片生成后存放的路径 name: 'images/[hash:10].[ext]' } } }, { // 参考上面图片的配置,进行配置即可 test: /\.(ttf|woff|woff2|svg|eot)$/, use: { loader: 'url-loader', options: { limit: 2048, name: 'fonts/[hash:10].[ext]' } } }, { test: /\.vue$/, use: 'vue-loader' }, ] }, // source-map 定位错误的 // devtool: 'cheap-module-source-map', // 配置 htmlWebpackPlugin plugins: [ new htmlWebpackPlugin({ template: path.join(__dirname, './src/index.html'), filename: 'index.html', // 压缩HTML minify: { // 移除空白 collapseWhitespace: true, // 移除注释 removeComments: true, // 移除属性中的双引号 removeAttributeQuotes: true } }), // 自动删除dist目录 // 参数:表示要删除文件的路径,可以是多个 new cleanWebpackPlugin(['./dist']), // 分离第三方包(公共包文件) new webpack.optimize.CommonsChunkPlugin({ // 第三方包入口名称,对应 entry 中的 vendor 属性 // 将 entry 中指定的 ['vue', 'vue-router', 'vue-resource'] 打包到名为 vendor 的js文件中 name: 'vendor', }), // 压缩js代码 new webpack.optimize.UglifyJsPlugin({ sourceMap: true, // 压缩 compress: { // 移除警告 warnings: false } }), // 指定环境,设置为生产环境 // 开发期间我们使用vue的为压缩版本,项目上下了,只需要将环境修改为 // 生产环境,那么,vue就会自动变为 压缩版本 new webpack.DefinePlugin({ 'process.env': { 'NODE_ENV': JSON.stringify('production') } }), // 通过插件抽离 css (参数) // 参数:表示将抽离的css文件生成到哪个目录中 new ExtractTextPlugin("css/style.css"), // 压缩抽离之后的css new OptimizeCssAssetsPlugin(), // 启用 scope hoisting new webpack.optimize.ModuleConcatenationPlugin() ] }
下面给大家介绍下webpack打包后的JS文件如何部署?
webpack打包后的JS文件,怎样发布到生产环境使用?能发布到TOMCAT吗?还是需要其它的部署环境?
打包出来的文件你把它当成普通的js文件就好了,最不济,你复制到想放的目录在页面中引用,jquery.min,js怎么用,webpack打包出来的js文件你也怎么用。
总结
以上所述是小编给大家介绍的webpack打包js文件及部署的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2025年01月11日
2025年01月11日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]