爲了添加外部庫,我們可以使用這個HtmlWebpackExternalsPlugin
。我們應該在我們的webpack.config.js文件中添加這個。
因此,這HtmlWebpackExternalsPlugin
將創建供應商文件夾,並在其中添加縮小的文件。它還會將縮小文件路徑添加到index.html庫中,類似於此<script type="text/javascript" src="vendor/jquery/dist/jquery.min.js"></script>
這是我的webpack.config.js文件。
在這裏,我已經包括了jQuery,引導表,引導庫
var HtmlWebpackPlugin = require('html-webpack-plugin');
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var bootstrapEntryPoints = require('./webpack.bootstrap.config.js');
var path = require("path");
var webpack = require('webpack');
var HtmlWebpackExternalsPlugin = require('html-webpack-externals-plugin');
var bootstrapConfig =bootstrapEntryPoints.prod;
module.exports={
entry:{app:['./app.js','./public/app.css'],
//vendor: './app/vendor.ts'
bootstrap:bootstrapConfig
},
output:{
path:__dirname+ '/public/',
filename:'[name].bundle.js'},
node: {
fs: 'empty',
net: 'empty',
tls: 'empty'
},
module:{
rules:[
{
test: /\.js$/,
exclude: /node_modules/,
use: 'babel-loader'
},
{ test: /\.css$/, use: ExtractTextPlugin.extract({ fallback: 'style-loader', use: [ 'css-loader' ] }) },
{ test: /\.(woff2?|svg)$/, loader: 'url-loader?limit=10000&name=fonts/[name].[ext]' },
{ test: /\.(ttf|eot)$/, loader: 'file-loader?name=fonts/[name].[ext]' },
{ test:/bootstrap-sass[\/\\]assets[\/\\]javascripts[\/\\]/, loader: 'imports-loader?jQuery=jquery' }
]
},
plugins: [
new HtmlWebpackPlugin({
title: 'Monitoring Status',
minify:{collapseWhitespace:true
},
hash:true,
template: 'views/index.ejs' // Load a custom template (ejs by default see the FAQ for details)
}),
new HtmlWebpackExternalsPlugin({
externals: [
{
module: 'jquery',
entry: 'dist/jquery.min.js',
global: 'jQuery',
},
],
}),
new HtmlWebpackExternalsPlugin({
externals: [
{
module: 'bootstrap',
entry: ['dist/css/bootstrap.min.css','dist/js/bootstrap.min.js']
},
],
}),
new HtmlWebpackExternalsPlugin({
externals: [
{
module: 'bootstrap-table',
entry: ['dist/bootstrap-table.min.css','dist/bootstrap-table.min.js']
},
],
}),
new ExtractTextPlugin({
filename:'css/[name].css',
allChunks:true
})
]
}
我想引導只在index.html.Bootstrap在bundle.js.So可如果我有bundle.js它應該工作沒有引導表和jquery ..所以我的疑問是我應該添加類似於要求('jquery')在HTML中,以便它可以在HTML?@Danny –
jquery和繫繩需要在引導之前加載。 在你的webpack配置中,你可以輸入'entry:['./app.js','bootstrap']'; in'app.js'你會有 '從'jquery'導入JQuery;從'繫繩'進口繫繩;' –