npm package.json中的无独立的grunt脚本命令



当命令 grunt在与grunt.js文件相同的路径中运行时,Windows选择使用Windows脚本主机运行grunt.js。推荐的路径是明确致电grunt.cmd

这一切都很好,但是,如果我想在我的npm package.json中创建独立于OS的脚本命令,该怎么办?如果我还想在 *nix中运行:

我做不到
"scripts": {
    "dox": "grunt.cmd dox"
}

有指针吗?或者,我缺少一个很大的难题吗?(我同样是NPM和Grunt的)。

我找到了创建grunt.bat文件的解决方案,该文件刚刚调用grunt.cmd

@grunt.cmd%*

因此,在Windows上,只需调用grunt即可触发批处理文件,因为它比Windows脚本脚本的 grunt.js的优先级更高。在Linux上,常规的grunt二进制拾取了。这对我来说是跨平台的作用。

我遇到了同样的问题:当软件包的根目录中有 tslint.js文件,而 package.json中的npm脚本只会调用 tslint,jscript由npm而不是节点,而不是node,而不是node。导致" Microsoft JScript汇编错误"弹出。

解决方法正在从PATHEXT环境变量中删除.JS

最新更新