【发布时间】:2017-04-25 08:35:11
【问题描述】:
我的项目是用 TypeScript 编写的,并使用 webpack 来捆绑脚本。所有 .ts 文件都经过 TypeScript 加载器,以便将它们转换为 JavaScript;我想弄清楚如何做的是让一些特定的导入通过自定义 webpack 加载器。比如:
import widget from 'myCustomLoader!./widget';
当然,这不起作用,因为 TypeScript 不知道如何解释 webpack 的加载器语法。理想情况下,TypeScript 会忽略 !只需查看 './widget' 以进行类型检查。
我考虑的另一种可能性是通过在 webpack.config 中指定它来让所有 .ts 文件通过 myCustomLoader,然后使用某种查询字符串来指示它完成它的工作。例如:
import widget from './widget?myCustomLoader=true';
但 TypeScript 仍然无法处理。显然直接使用 require 会起作用:
var widget = require('myCustomLoader!./widget');
...但是我失去了 TypeScript 提供的所有类型安全性。任何人都可以提出一种方法来指定(或以其他方式与之交互)自定义 webpack 加载器,并且仍然保持 TypeScript 导入语法的类型安全优势吗?
【问题讨论】:
-
您的小部件是什么类型的内容?常规 JavaScript?打字稿?文件的扩展名是什么?你能描述一下这里有一个自定义加载器的用例吗?
标签: typescript webpack