我有一个TypeScript项目,我和Webpack捆绑在一起。它是我正在编写的开源库的演示/文档应用程序,所以我想将一些源代码作为文档的一部分来展示。
在我的webpack配置中我有:
loaders: [
{ test: /\.ts$/, loader: 'ts'},
{ test: /\.css$/, loader: 'style!raw' },
{ test: /\.html/, loader: 'html' }
]它可以很好地转换和捆绑我的TypeScript文件。在我的一个应用程序组件中,我这样做:
basicCodeT: string = require('./basic-example-cmp.html');
basicCodeC: string = require('!raw!./basic-example-cmp.ts');将源代码加载到字符串中,然后将其显示在文档中。
如您所见,第二行中有一个前导!,我发现它似乎“绕过”了配置中的默认加载器,并将原始TypeScript作为字符串加载。
在我的dev build中,这是可行的,但是当我使用UglifyJsPlugin和OccurrenceOrderPlugin进行“生产”构建时,我得到了以下输出:
ERROR in ./demo/src/basic-example-cmp.html
Module build failed:
@ ./demo/src/demo-app.ts 24:26-61它对应于源中我试图要求原始TypeScript的行。
因此,作为应用程序构建的一部分,--我希望通过TS编译器传递,但是也希望在应用程序中将其作为原始文本。
那么,我的问题是:是否有适当的方法告诉webpack在特定需要的情况下“忽略”装载器?
! 是我在前加上的方式,对吗?是黑客吗?
更新
原来我的问题只是因为Webpack处理HTML模板的方式??它不喜欢角2模板语法,参见:https://github.com/webpack/webpack/issues/992。
发布于 2016-03-05 21:27:18
您可以添加两个感叹号以忽略webpack配置文件中的加载器。
!!raw!file.ts
一个感叹号只会禁用预装器!
发布于 2016-02-23 23:07:08
据我所知,这是以两种不同方式加载文件的唯一方法。我希望问题是在生产构建中,您的路径是不同的。
我建议使用--display-error-details标志运行webpack,以获得更多关于失败原因的信息。
发布于 2016-02-22 22:23:21
在具体需要的情况下,有没有适当的方法告诉webpack“忽略”装载机?
是。按需要更新test中的{ test: /\.ts$/, loader: 'ts'},。
https://stackoverflow.com/questions/35563915
复制相似问题