webpack打包并將文件加載到指定的位置方法
使用webpack打包,最爽的事情莫過于可以直接require文件了,但是這
同時帶來了一個問題,就是所有的文件整合到一起,那這一個包就太大了。
基于此:下面我們來了解下webpack的打包(主要是將如何將我們需要的內(nèi)容模塊,分開打包,
并且按照我們自己設(shè)定的存放路徑進行存放)
首先在webpack.config.js文件中
entry入口函數(shù)出表示出哪些是需要單獨打包成一個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存放在指定的位置又要如何進行操作呢,不用著急,下面就來具體
的實現(xiàn)以下(其實區(qū)別主要是在entry入口函數(shù)那兒):
entry: {
'./common/main': path.resolve(__dirname,'src/index.js'),
'./jquery/jq': ['jquery'],
'./react/react': ['react'],
'./reactdom/redom': ['react-dom']
},
如上所示這樣四個js就會分別存放到我們制定的dist下的四個文件夾中了。(標(biāo)注:這時候就不
需要用到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打包并將文件加載到指定的位置方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
JS組件中bootstrap multiselect兩大組件較量
這篇文章主要介紹了JS組件中bootstrap multiselect兩大組件,兩者之間的較量,優(yōu)缺點比較,感興趣的小伙伴們可以參考一下2016-01-01
基于JavaScript實現(xiàn)類似于百度學(xué)術(shù)高級檢索功能
這篇文章主要介紹了基于JavaScript實現(xiàn)類似于百度學(xué)術(shù)高級檢索功能 的相關(guān)資料,需要的朋友可以參考下2016-03-03
JS實現(xiàn)的漢字與Unicode碼相互轉(zhuǎn)化功能分析
這篇文章主要介紹了JS實現(xiàn)的漢字與Unicode碼相互轉(zhuǎn)化功能,結(jié)合實例形式分析了javascript實現(xiàn)漢字與Unicode碼轉(zhuǎn)換相關(guān)操作技巧與注意事項,需要的朋友可以參考下2018-05-05
js獲取下拉列表框<option>中的value和text的值示例代碼
本篇文章主要是對js獲取下拉列表框<option>中的value和text的值示例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01
javascript函數(shù)中參數(shù)傳遞問題示例探討
本節(jié)主要與大家探討下javascript函數(shù)中參數(shù)傳遞問題,有不明白的朋友可以參考下2014-07-07

