几个Node.js包以下两个步骤作为起点(仅以Jasmine为例):
npm install --save-dev jasmine
./node_modules/.bin/jasmine init
第一个陈述是直截了当的,但我不能在我的生活中找出第二个陈述在幕后做什么。 Jasmine docs只说它初始化它(我正在寻找更具技术性的东西)。
./ node_modules / .bin / jasmine看起来像这样:
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -x "$basedir/node" ]; then
"$basedir/node" "$basedir/../jasmine/bin/jasmine.js" "$@"
ret=$?
else
node "$basedir/../jasmine/bin/jasmine.js" "$@"
ret=$?
fi
exit $ret
如果有帮助,我这样做就是在本地克隆并安装软件包:
任何解释init的指针/文档都会受到高度赞赏。
修改
只是为了澄清,我知道 init做了什么(从测试和Jasmine文档中清楚),我只是不明白 它是如何做到的。我基本上试图找出为什么在从CLI运行脚本名称时需要init,以及init代码所在的位置。
答案 0 :(得分:1)
我设法最终解决了这个问题。如果将来有人遇到此问题,以下是./node_modules/.bin/jasmine init
的解释。
./node_modules/.bin/jasmine init
从命令行执行jasmine
中运行./node_modules/.bin/
Unix脚本(init
参数尚未使用)jasmine.js
(./node_modules/jasmine/bin/jasmine.js
)并运行它Jasmine.js
包含以下代码:var Command = require('../lib/command.js')
Jasmine.js
创建Command
对象(command
)的新实例并执行:command.run(jasmine, process.argv.slice(2));
slice(2)
等于init
run
内的command.js
功能通过将initJasmine
映射到顶部的init
来启动initJasmine
initJasmine
生成目录spec
及其所有内容希望将来帮助别人。
答案 1 :(得分:0)
jasmine init
通过为您创建spec目录和配置json来初始化Jasmine的基本文件夹结构。您可以在https://github.com/jasmine/jasmine-npm