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') ] };
相关推荐
不知道该写啥QAQ 2020-08-02
不知道该写啥QAQ 2020-06-10
不知道该写啥QAQ 2020-11-12
webfullStack 2020-11-09
Yvettre 2020-09-15
想做大牛的蜗牛 2020-10-30
gloria0 2020-10-26
gaojie0 2020-09-11
SelinaChan 2020-08-14
不知道该写啥QAQ 2020-08-09
gloria0 2020-08-09
hline 2020-07-29
SelinaChan 2020-07-28
wangdianyong 2020-07-23
webpackvuees 2020-07-23
yqoxygen 2020-07-20
不知道该写啥QAQ 2020-07-18
waterv 2020-07-18