将mac节点脚本转换为windows
问题描述:
我有一个postinstall节点脚本,它将先前运行的脚本复制到我的npm-scripts文件夹中。但是,这只适用于Mac。我需要为Windows工作,所以我正在创建一个新的文件,该文件将为Windows运行1或为Mac下面列出的文件。将mac节点脚本转换为windows
`cp ../node_modules/some-components/npm-scripts/*.js ../npm_scripts`
我没有看到一个清晰的方法来转换语法,以便可以通过Windows机器以及是否使用复制或robocopy。任何建议将不胜感激。
答
创建一个copy.js
文件,该文件通过Node.js API独立执行复制平台(即,不依赖Windows或Unix特定的shell命令cp
或copy
)。我的建议是:使用fs-extra
,它也处理复制目录,与包含的fs
不同。
var fs = require('fs-extra'); // add to your dependencies via 'npm install fs-extra --save'
var path = require('path');
fs.copySync(
path.resolve(__dirname, '../path/to/source',
path.resolve(__dirname, '../path/to/destination'));
+0
我现在明白了。感谢您的回答! – dch
建议:创建一个用于复制文件的JavaScript例如通过'fs'。这显然是平台独立的。 – qqilihq
我这样做,但我不清楚Windows的语法,这就是为什么我显示需要从Mac转换的东西。基本格式是这样的。 'const exec = require('./exec'); const platformCheck =()=> { if(process.platform ==='win32'){ exec('windows thing here'); } exec('mac thing here) }' – dch