十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍了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') ] };
感谢你能够认真阅读完这篇文章,希望小编分享的“webpack如何打包并将文件加载到指定的位置”这篇文章对大家有帮助,同时也希望大家多多支持创新互联成都网站设计公司,关注创新互联成都网站设计公司行业资讯频道,更多相关知识等着你来学习!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、网站设计器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。