我们的想法是从所有html文件中获取1个JS文件。 之后只需通过require:
使用它templateUrl: require('./views/user-list.html')
你可以分享一下你的体验吗?
我正在谷歌搜索它,发现几个装载webpack但不知道该使用什么。
答案 0 :(得分:10)
我决定将web-pack的ng-cache loader与ES2015语法一起使用:它意味着import from
而不是require
。
我的webpack配置的一部分:
module: {
loaders: [
{ test: /\.js$/, loader: 'babel', include: APP },
{ test: /\.html$/, loader: 'ng-cache?prefix=[dir]/[dir]' },
]
},
以及带模板的指令示例:
import avatarTemplate from './views/avatar.html';
const avatar = function() {
return {
restrict: 'E',
replace: true,
scope: {
user: '='
},
template: avatarTemplate
}
};
export default avatar;
答案 1 :(得分:3)
你的答案是对的。然而,只是为它提供替代方案:
const avatar = function() {
return {
restrict: 'E',
replace: true,
scope: {
user: '='
},
template: require("../path/to/file.html"),
}
};
export default avatar;
答案 2 :(得分:0)
在Webpack.config文件中,您可以添加如下所示的主要HTML
plugins: [
new HtmlWebpackPlugin({
template: 'index.html'
}),
new ExtractTextPlugin('bundle.css')
] 在package.json中包含html-loader并在config block中单独使用下面的方法就足够了。
$stateProvider.state('app', {
url: '/app',
template: require('html-loader!root/app/Common/templates/role.html'),
controller: 'roleController'
})
所以所有部分都将捆绑在bundle.js本身中。不需要在webpack-config中添加加载器