Webpack配置(静态文件)

时间:2015-10-12 13:16:50

标签: webpack

我正在尝试配置项目的构建结构,并希望通过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-loaderfile-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]' }
    ]
  }
};

注意:我知道我对网络包不太了解,我想采取的方法可能不是建议的路线,所以我愿意改进整个结构。

1 个答案:

答案 0 :(得分:1)

如果您有my egghead series的访问权限,建议您查看requiring templates

如果没有,请查看this directive。不再需要templateUrl,只需要模板并将其作为字符串内联。