相关疑难解决方法(0)

用于Windows的NPM包'bin'脚本

Cucumber.js提供了一个命令行"binary",它是一个.js包含shebang指令的简单文件:

#!/usr/bin/env node
var Cucumber = require('../lib/cucumber');
// ...
Run Code Online (Sandbox Code Playgroud)

package.json使用"bin"配置键指定二进制文件:

{ "name" : "cucumber"
, "description" : "The official JavaScript implementation of Cucumber."
// ...
, "bin": { "cucumber.js": "./bin/cucumber.js" }
// ...
Run Code Online (Sandbox Code Playgroud)

这一切都适用于POSIX系统.有人在Windows上运行Cucumber.js时报告了一个问题.

基本上,该.js文件似乎是通过Windows的JScript解释器(而不是Node.js)执行的,并且由于shebang指令而引发语法错误.

我的问题是:建议在UNIX和Windows系统上运行的"二进制"脚本的推荐方法是什么?

谢谢.

windows posix package node.js npm

37
推荐指数
2
解决办法
2万
查看次数

如何用npm脚本运行mocha?

我已经为我的脚本实现了一个测试用例,当我在Webstorm中使用mocha的配置执行它时它运行得非常好.

我的测试脚本的名称是adminTest.js.

现在我喜欢使用npm脚本从控制台或稍后从构建服务器运行它.

因此我在package.json中创建了一个脚本条目

这是完整的文件:

{
  "name": "cdh",
  "version": "0.0.1",
  "description": "CDH connector",
  "main": "cdh.js",
  "private" : true,
  "dependencies": {
    "cli-color": "^1.0.0",
    "handlebars": "^4.0.3",
    "sync-request": "^2.0.1",
    "jslint": "^0.9.3",
    "xmldom": "^0.1.19",
    "xpath": "^0.0.9",
    "mocha": "2.3.3 ",
    "proxyquire": "1.7.3",
    "mocha-sinon": "1.1.4",
    "jasmine" : "2.3.2",
    "chai" : "3.4.1"
  },
  "devDependencies": {},
  "scripts": {
    "test": "node ./node_modules/mocha/bin/mocha tests/**/*Test.js --reporter spec"
  },
  "author": "kme",
  "license": "ISC"
}
Run Code Online (Sandbox Code Playgroud)

当我npm run test从控制台启动脚本时,会导致此错误:

> cdh@0.0.1 test C:\src\trunk\scripts\testing
> node ./node_modules/mocha/bin/mocha tests/**/*Test.js --reporter spec


npm ERR! Windows_NT …
Run Code Online (Sandbox Code Playgroud)

javascript testing mocha.js node.js npm

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

node.js ×2

npm ×2

javascript ×1

mocha.js ×1

package ×1

posix ×1

testing ×1

windows ×1