为什么Visual Studio的Webpack Task Runner不允许多个输出文件?

时间:2018-02-12 18:12:20

标签: webpack visual-studio-2017 output task-runner-explorer

我正在使用安装了Webpack Runner扩展的Visual Studio 2017。我有以下TS文件:

  • /Scripts/TypeA/A.ts
  • /Scripts/TypeB/B.ts

并希望将它们转移到以下内容:

  • 脚本/类型A / A_transpiled.js
  • 脚本/的TypeB / B_transpiled.js

没有"清洁"这样做的方式!

  1. 关注"多编译器"代码示例,Webpack中似乎支持定义多个导出:https://github.com/webpack/webpack/tree/master/examples/multi-compiler。但是,这在VS 2017中不起作用。我收到以下错误:

      

    无效的配置对象。 Webpack已使用与API架构

    不匹配的配置对象进行初始化
  2. 我可以使用" name"参数如下所示:

    output: { filename: '[name].js', path: path.resolve(__dirname, './Scripts/') }

  3. 但它仍然会在同一个文件夹(脚本)中创建所有文件。

    1. 这样做的最好,但最糟糕的方法是将整个路径作为条目名称的一部分,如下所示:

      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, '') }

    2. 这会在正确的位置创建文件。然而,这有其他缺点。例如,导出和使用ts文件作为库将要求您使用整个路径(如果使用" name"参数作为库名称),这可能会很麻烦。

      这似乎是一个巨大的缺点/缺少功能。我错过了什么,或者在使用"多编译器"时做错了什么?进场?为什么这个简单的东西没有在Webpack Task Runner中实现?我应该考虑完全摆脱Webpack而只依赖Gulp或Grunt吗?

1 个答案:

答案 0 :(得分:1)

我使用npm重新安装了webpack,这样我就拥有了最新版本的webpack(3.11.0)。我能够使用"多编译器"此链接中列出的方法:

https://github.com/webpack/webpack/tree/master/examples/multi-compiler