我试图用cross-spawn
包中的spawn
运行一个命令,以编程方式用npm安装一些依赖项,这些依赖项可以是rollup包,也可以是webpack包,具体取决于变量bundler
的值
spawn.sync(
'npm',
[
'add',
'-D',
'svelte',
bundler === 'rollup' ? ...rollupPackages : ...webpackPackages
],
{ cwd: projectPath }
)
但typescript编译器正在抱怨,更具体地说是RollupPackages
的扩展运算符,其中包含以下消息:
应为表达式。 ts(1109)
我假设两个包变量都是数组,并且您希望将各个数组值作为自己的值添加到.sync
调用参数数组中,因此尝试将整个表达式括在括号中:
spawn.sync(
'npm',
[
'add',
'-D',
'svelte',
(bundler === 'rollup' ? ...rollupPackages : ...webpackPackages)
],
{ cwd: projectPath }
)