Mic*_*ley 5 javascript typescript webpack
我有一个TypeScript项目,我正在捆绑Webpack.它是我正在编写的开源库的demo/docs应用程序,所以我想将一些源代码显示为文档的一部分.
在我的webpack配置中,我有:
loaders: [
{ test: /\.ts$/, loader: 'ts'},
{ test: /\.css$/, loader: 'style!raw' },
{ test: /\.html/, loader: 'html' }
]
Run Code Online (Sandbox Code Playgroud)
这适用于转换和捆绑我的TypeScript文件.在我的一个应用程序组件中,我这样做:
basicCodeT: string = require('./basic-example-cmp.html');
basicCodeC: string = require('!raw!./basic-example-cmp.ts');
Run Code Online (Sandbox Code Playgroud)
将源代码加载到我想要在文档中显示的字符串中.
正如您所看到的,!在第二行中有一个领先者,我发现它似乎从配置中"绕过"默认加载器并将原始TypeScript作为字符串加载.
在我的开发版中,这可行,但是当我使用UglifyJsPlugin和OccurrenceOrderPlugin进行"生产"构建时,我得到以下输出:
ERROR in ./demo/src/basic-example-cmp.html
Module build failed:
@ ./demo/src/demo-app.ts 24:26-61
Run Code Online (Sandbox Code Playgroud)
这对应于我尝试要求原始TypeScript的源代码行.
所以,我想basic-example-cmp.ts通过TS编译器作为应用程序构建的一部分,但也想要在应用程序中将其作为原始文本.
我的问题是:在特定的需求案例中,是否有正确的方法告诉webpack"忽略"加载器?
我的前置方式是!正确的吗?这是一个黑客?
事实证明我的问题仅仅是由于Webpack处理HTML模板的方式 - 它不喜欢Angular 2模板语法,请参阅:https://github.com/webpack/webpack/issues/992
您可以在webpack配置文件中添加两个惊叹号以忽略加载程序
!!raw!file.ts
一声惊叹只会禁用预加载器!
https://webpack.js.org/concepts/loaders/#inline
| 归档时间: |
|
| 查看次数: |
3976 次 |
| 最近记录: |