webpack打包并將文件加載到指定的位置方法
使用webpack打包,最爽的事情莫過(guò)于可以直接require文件了,但是這
同時(shí)帶來(lái)了一個(gè)問(wèn)題,就是所有的文件整合到一起,那這一個(gè)包就太大了。
基于此:下面我們來(lái)了解下webpack的打包(主要是將如何將我們需要的內(nèi)容模塊,分開(kāi)打包,
并且按照我們自己設(shè)定的存放路徑進(jìn)行存放)
首先在webpack.config.js文件中
entry入口函數(shù)出表示出哪些是需要單獨(dú)打包成一個(gè)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')
]
如上配置,這樣在文件生成的時(shí)候dist目錄下就會(huì)增加jq.js,vendors.js,redom.js這三個(gè)js了
以上解決了我們要打包多個(gè)包的問(wèn)題;
那如果我們想要將打包好的js存放在指定的位置又要如何進(jìn)行操作呢,不用著急,下面就來(lái)具體
的實(shí)現(xiàn)以下(其實(shí)區(qū)別主要是在entry入口函數(shù)那兒):
entry: {
'./common/main': path.resolve(__dirname,'src/index.js'),
'./jquery/jq': ['jquery'],
'./react/react': ['react'],
'./reactdom/redom': ['react-dom']
},
如上所示這樣四個(gè)js就會(huì)分別存放到我們制定的dist下的四個(gè)文件夾中了。(標(biāo)注:這時(shí)候就不
需要用到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打包并將文件加載到指定的位置方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JS組件中bootstrap multiselect兩大組件較量
這篇文章主要介紹了JS組件中bootstrap multiselect兩大組件,兩者之間的較量,優(yōu)缺點(diǎn)比較,感興趣的小伙伴們可以參考一下2016-01-01
解決JavaScript精度問(wèn)題的常見(jiàn)方法
在 JavaScript 中,處理浮點(diǎn)數(shù)時(shí)經(jīng)常會(huì)遇到精度丟失的問(wèn)題,這是由于 JavaScript 內(nèi)部采用 IEEE 754 標(biāo)準(zhǔn)表示浮點(diǎn)數(shù),導(dǎo)致某些小數(shù)無(wú)法精確表示,本文將介紹一些常見(jiàn)的方法來(lái)解決 JavaScript 中的精度問(wèn)題,并討論它們的優(yōu)缺點(diǎn),需要的朋友可以參考下2024-05-05
JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)購(gòu)物車(chē)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)購(gòu)物車(chē),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
基于JavaScript實(shí)現(xiàn)類(lèi)似于百度學(xué)術(shù)高級(jí)檢索功能
這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)類(lèi)似于百度學(xué)術(shù)高級(jí)檢索功能 的相關(guān)資料,需要的朋友可以參考下2016-03-03
JS實(shí)現(xiàn)的漢字與Unicode碼相互轉(zhuǎn)化功能分析
這篇文章主要介紹了JS實(shí)現(xiàn)的漢字與Unicode碼相互轉(zhuǎn)化功能,結(jié)合實(shí)例形式分析了javascript實(shí)現(xiàn)漢字與Unicode碼轉(zhuǎn)換相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-05-05
js獲取下拉列表框<option>中的value和text的值示例代碼
本篇文章主要是對(duì)js獲取下拉列表框<option>中的value和text的值示例代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01
javascript函數(shù)中參數(shù)傳遞問(wèn)題示例探討
本節(jié)主要與大家探討下javascript函數(shù)中參數(shù)傳遞問(wèn)題,有不明白的朋友可以參考下2014-07-07
基于vue實(shí)現(xiàn)移動(dòng)端圓形旋鈕插件效果
最近公司有一個(gè)項(xiàng)目的需要做出旋鈕的效果,旋鈕有十個(gè)檔,根據(jù)手指旋轉(zhuǎn)切換,旋轉(zhuǎn)時(shí)接近最近的檔會(huì)有吸附效果。這篇文章主要介紹了vue實(shí)現(xiàn)移動(dòng)端圓形旋鈕插件效果 ,需要的朋友可以參考下2018-11-11
js網(wǎng)頁(yè)實(shí)時(shí)倒計(jì)時(shí)精確到秒級(jí)
網(wǎng)頁(yè)實(shí)時(shí)倒計(jì)時(shí),精確到秒級(jí),和天數(shù)倒計(jì)時(shí)原理一樣,需要的朋友可以參考下2014-02-02

