我正在使用安装了 Webpack Runner 扩展的 Visual Studio 2017。我有以下 TS 文件:
- /脚本/TypeA/A.ts
- /Scripts/TypeB/B.ts
并希望将它们转换为以下内容:
- 脚本/TypeA/A_transpiled.js
- 脚本/TypeB/B_transpiled.js
没有“干净”的方法可以做到这一点!
按照“多编译器”代码示例,Webpack 似乎支持定义多个导出:https ://github.com/webpack/webpack/tree/master/examples/multi-compiler 。但是,这在 VS 2017 中不起作用。我收到以下错误:
配置对象无效。Webpack 已使用与 API 模式不匹配的配置对象进行初始化
我可以使用“名称”参数,如下所示:
output: { filename: '[name].js', path: path.resolve(__dirname, './Scripts/') }
但它仍会在同一文件夹中创建所有文件(脚本)。
这样做的最好但很老套的方法是使整个路径成为条目名称的一部分,如下所示:
entry: { 'Scripts/TypeA/A_transpiled': './Scripts/TypeA/A.ts', 'Scripts/TypeB/B_transpiled': './Scripts/TypeB/B.ts' }, output: { filename: '[name].js', path: path.resolve(__dirname, '') }
这将在正确的位置创建文件。然而,这还有其他缺点。例如,将您的 ts 文件作为库导出和使用将需要您使用整个路径(如果您使用“name”参数作为库名称),这可能会变得很麻烦。
这似乎是一个巨大的缺点/缺失的功能。我是否遗漏了什么,或者在使用“多编译器”方法时我做错了什么?为什么这么简单的东西没有在 Webpack Task Runner 中实现?我应该考虑完全摆脱 Webpack 并只依赖 Gulp 或 Grunt 吗?