为什么 Visual Studio 的 Webpack Task Runner 不允许多个输出文件?
Why does Webpack Task Runner for Visual Studio not allow multiple output files?
我正在使用安装了 Webpack Runner 扩展的 Visual Studio 2017。我有以下 TS 文件:
- /Scripts/TypeA/A.ts
- /Scripts/TypeB/B.ts
并希望将它们转换为以下内容:
- Scripts/TypeA/A_transpiled.js
- Scripts/TypeB/B_transpiled.js
没有 "clean" 方法可以做到这一点!
在"multi-compiler"代码示例之后,Webpack似乎支持定义多个导出:https://github.com/webpack/webpack/tree/master/examples/multi-compiler。但是,这在 VS 2017 中不起作用。我收到以下错误:
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema
我可以使用 "name" 参数,如下所示:
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" 参数作为库名称),这可能会变得很麻烦。
这似乎是一个巨大的 drawback/missing 功能。在使用 "multi-compiler" 方法时,我是否遗漏了什么,或者我做错了什么?为什么 Webpack Task Runner 没有实现这么简单的东西?我是否应该考虑完全摆脱 Webpack 而只依赖 Gulp 或 Grunt?
我使用 npm 重新安装了 webpack,这样我就有了最新版本的 webpack (3.11.0)。我能够使用此 link:
中列出的 "multi-compiler" 方法
https://github.com/webpack/webpack/tree/master/examples/multi-compiler
我正在使用安装了 Webpack Runner 扩展的 Visual Studio 2017。我有以下 TS 文件:
- /Scripts/TypeA/A.ts
- /Scripts/TypeB/B.ts
并希望将它们转换为以下内容:
- Scripts/TypeA/A_transpiled.js
- Scripts/TypeB/B_transpiled.js
没有 "clean" 方法可以做到这一点!
在"multi-compiler"代码示例之后,Webpack似乎支持定义多个导出:https://github.com/webpack/webpack/tree/master/examples/multi-compiler。但是,这在 VS 2017 中不起作用。我收到以下错误:
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema
我可以使用 "name" 参数,如下所示:
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" 参数作为库名称),这可能会变得很麻烦。
这似乎是一个巨大的 drawback/missing 功能。在使用 "multi-compiler" 方法时,我是否遗漏了什么,或者我做错了什么?为什么 Webpack Task Runner 没有实现这么简单的东西?我是否应该考虑完全摆脱 Webpack 而只依赖 Gulp 或 Grunt?
我使用 npm 重新安装了 webpack,这样我就有了最新版本的 webpack (3.11.0)。我能够使用此 link:
中列出的 "multi-compiler" 方法https://github.com/webpack/webpack/tree/master/examples/multi-compiler