如何操作webpack处理文件

2020-08-18 11:27:02
这次给大家带来如何操作webpack处理文件,操作webpack处理文件的注意事项有哪些,下面就是实战案例,一起来看一下。

使用webpack打包,最爽的事情莫过于可以直接require文件了,但是这

同时带来了一个问题,就是所有的文件整合到一起,那这一个包就太大了。

基于此:下面我们来了解下webpack的打包(主要是将如何将我们需要的内容模块,分开打包,

并且按照我们自己设定的存放路径进行存放)

首先在webpack.config.js文件中

entry入口函数出表示出哪些是需要单独打包成一个js包的:

entry: {  main: path.resolve(dirname,'src/index.js'),  jq: ['jquery'],  react: ['react'],  redom: ['react-dom']},output: {  path: path.resolve(dirname,'dist'),  publishPath: 'dist/',  filename: '[name].js' },plugin: [  new webpack.optimize.CommonsChunkPlugin('jq','jq.js'),  new webpack.optimize.CommonsChunkPlugin('vendors','vendors.js'),  new webpack.optimize.CommonsChunkPlugin('redom','redom.js')]

如上配置,这样在文件生成的时候dist目录下就会增加jq.js,vendors.js,redom.js这三个js了

以上解决了我们要打包多个包的问题;

那如果我们想要将打包好的js存放在指定的位置又要如何进行操作呢,不用着急,下面就来具体

的实现以下(其实区别主要是在entry入口函数那儿):

entry: {  './common/main': path.resolve(dirname,'src/index.js'),  './jquery/jq': ['jquery'],  './react/react': ['react'],  './reactdom/redom': ['react-dom'] },

如上所示这样四个js就会分别存放到我们制定的dist下的四个文件夹中了。(标注:这时候就不

需要用到webpack.optimize.CommonsChunkPlugin插件了)

最后贴上左右的webpack.config.js代码:

var webpack = require('webpack');var path = require('path');module.exports = { entry: {  './common/main': path.resolve(dirname,'src/index.js'),  './jquery/jq': ['jquery'],  './react/react': ['react'],  './reactdom/redom': ['react-dom'] }, output: {  path: path.resolve(dirname,'dist'),  publishPath: 'dist/',  filename: '[name].js' }, module: {  loaders: [   {    test: /.scss$/,    loader: 'style!css!sass'   },   {    test: /.js$/,    exclude: /node_modules|vue/dist|vue-router/|vue-loader/|vue-hot-reload-api/|presets//,    loader: 'babel'   },   {    test: /.(png|jpg|gif)$/,    loader: 'url?limit=40000'   }  ] }, babel: {  presets: ['es2015','stage-0','react'],  plugins: ['transform-runtime',["antd",{"style": "css"}]] }, resolve: ['js','jsx','css'], plugins:[  new webpack.ProvidePlugin({   $:"jquery",   jQuery:"jquery",   "window.jQuery":"jquery"  }) // new webpack.optimize.CommonsChunkPlugin('jq','jq.js'), // new webpack.optimize.CommonsChunkPlugin('vendors','vendors.js'), // new webpack.optimize.CommonsChunkPlugin('redom','redom.js') ]};

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

webpack如何动态引入文件

用CDN的react webpack打包文件

微信小程序的圆形进度条怎么做