我正在使用Webpack(2.3.3)在TS中构建我的Aurelia应用程序。但是,由于我在AureliaPlugin(2.0.0-rc.2)中使用includeAll
选项,因此ts-loader(2.0.3)会对没有导出任何输出的d.ts文件发出嘘声。
这是我的ts文件规则:{ test: /\.ts$/, include: /ClientApp/, use: "ts-loader" }
我需要更改测试值,使其匹配名为* .ts的文件,但* .d.ts除外。你能帮帮我吗?
注意:我看到已经存在类似的正则表达式问题但是那个问题对我不起作用。
答案 0 :(得分:7)
最后匹配字符串searchable activity
而不是.ts
的正则表达式是
.d.ts
查看regex demo。它是一个POSIX样式表达式,可以与任何正则表达式引擎一起使用。
<强>详情
/(^.?|\.[^d]|[^.]d|[^.][^d])\.ts$/
- 以下任何一项:
(^.?|\.[^d]|[^.]d|[^.][^d])
- 字符串+任意可选字符^.?
- 一个点和任何字符\.[^d]
d
- 除[^.]d
和.
d
- 除[^.][^d]
之外的任何字符,然后是.
之外的任何字符(这样,我们匹配d
以外的所有字符).d
- 一个文字点\.
- ts$
位于字符串末尾。或者,使用基于先行的解决方案:
ts
请参阅another demo
<强>详情:
/^(?!.*\.d\.ts$).*\.ts$/
- 字符串开头^
- 字符串不能以(?!.*\.d\.ts$)
.d.ts
- 任何0+字符.*
- \.ts$
位于字符串的末尾。但是,您可以探索this SO thread中描述的其他选项。