我正在尝试在Angular 1应用程序中使用Bootstrap,该应用程序依赖于捆绑的JS和CSS。 这是我当前的webpack.config.js:
var webpack = require('webpack');
module.exports = {
context: __dirname + '/src/assets/app',
entry: {
app: './app.module.js',
vendor: [
'angular',
'jquery',
'bootstrap/dist/css/bootstrap.css',
'bootstrap'
]
},
output: {
path: __dirname + '/src/assets/jsBundles',
filename: 'app.bundle.js'
},
target: 'web',
node: {
fs: 'empty'
},
devtool: 'eval',
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
filename: 'vendor.bundle.js'
}),
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
})
],
module: {
rules: [
{
test: /\.html$/,
use: ['html-loader']
}, {
test: /\.css$/,
use: ['css-loader']
}, {
test: /\.woff($|\?)|\.woff2($|\?)|\.ttf($|\?)|\.eot($|\?)|\.svg($|\?)/,
use: ['url-loader']
}
]
}
};
我的Angular应用程序成功加载,但是当我尝试使用任何Bootstrap组件或CSS时,它们无法正常工作。没有出现错误,但是没有应用Bootstrap样式,也没有类似dropwdown或模态功能的Bootstrap JS。当我查看vendor.bundle.js
时,我看到了所有Bootstrap JS,CSS和字体。
我是否需要在客户端做一些事情来加载"引导?
答案 0 :(得分:1)
在"window.jQuery": "jquery"
中尝试定义ProvidePlugin
。
作为参考,您可以参考webpack.config.js&链接中的webpack.common.config.js或可以参考Angular 1.x and Webpack
的入门套件答案 1 :(得分:0)
因为您正在使用html-loader和css-loader。您可以在js文件中包含css,只需在使用样式的javascript文件中插入require('bootstrap/dist/css/bootstrap')
或import(if es6)
css文件。无需为web包提供css的入口点
上面有很多方法可以做一个简单的方法,你可以按照详细的webpack样式插入here