外部ライブラリを追加するには、HtmlWebpackExternalsPlugin
を使用します。これはwebpack.config.jsファイルに追加する必要があります。
このHtmlWebpackExternalsPlugin
は、ベンダフォルダを作成し、その中に縮小したファイルを追加します。また、これに類似したindex.htmlのライブラリにミニファイルパスを追加します。<script type="text/javascript" src="vendor/jquery/dist/jquery.min.js"></script>
これは私のwebpack.config.jsファイルです。
私はそれが動作するはずbundle.js含まれている場合、ここで私は、私はindex.html.Bootstrapにのみブートストラップたい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
})
]
}
が含まれているbundle.js.Soで提供されていますright ..それはブートストラップテーブルとjqueryを取っていません。だから私の疑問は、htmlでrequire( 'jquery')と同様のものを追加すれば、htmlで利用できるようになりますか?@Danny –
jqueryとtetherが必要ですブートストラップの前にロードする。 あなたのwebpackの設定では、あなたは 'entry:['./app.js'、 'bootstrap']'のようなエントリを持つことができます。 'app.js'の は ' jquery 'からJQueryをインポートします。テザーをテザーからインポートする; –