我正在尝试配置项目的构建结构,并希望通过webpack完成所有这些工作。我的项目包括TypeScript(对于这个问题不重要),原始CSS,HTML模板(角度)和index.html
该项目的当前结构是:
- app
-- components
--- foo
---- foo.html
---- foo.css
---- foo-ctrl.ts
---- foo-directive.ts
--- bar
---- bar.html
---- bar.css
---- bar-ctrl.ts
---- bar-directive.ts
-- index.html
-- site.css
- dist
- package.json
- webpack.config.js
所需的输出将是(在dist下)
- js
-- bundle.js // or some other name
- views
-- foo.html // or foo/foo.html
-- bar.html // or bar/bar.html
- styles
-- foo.css // or foo/foo.css
-- bar.css // or bar/bar.css
-- sites.css
- index.html
我尝试使用raw-loader
和file-loader
无法移动html文件。
我很高兴webpack如何捆绑ts / js文件,但无法弄清楚如何移动静态文件(html / css)。以下是我到目前为止的情况。
// webpack.config.js
module.exports = {
entry: [
'./app/app.ts',
'./app/index.html',
'./app/foo/foo.html',
'./app/bar/bar.html'
],
output: {
path: './dist/',
filename: 'js/bundle.js'
},
resolve: {
extensions: ['', '.webpack.js', '.web.js', '.ts', '.js']
},
module: {
loaders: [
{ test: /\.ts$/, loader: 'ts-loader' },
{ test: /\index.html$/, loader: 'file-loader?name=[name].[ext]' },
{ test: /(?:[^index.html]*).html/, loader: 'file-loader?name=views/[name].[ext]' }
]
}
};
注意:我知道我对网络包不太了解,我想采取的方法可能不是建议的路线,所以我愿意改进整个结构。
答案 0 :(得分:1)
如果您有my egghead series的访问权限,建议您查看requiring templates。
如果没有,请查看this directive。不再需要templateUrl
,只需要模板并将其作为字符串内联。