inf*_*rno 1 windows node.js npm webstorm travis-ci
目前我以这种方式使用本地 deps 运行 npm 脚本:
包.json:
"scripts": {
"test": "node ./node_modules/karma/bin/karma start",
"node-test": "node ./node_modules/jasmine/bin/jasmine",
"build": "node ./node_modules/gulp/bin/gulp build"
},
Run Code Online (Sandbox Code Playgroud)
我不想使用全局 deps,因为我可能忘记将 deps 添加到 package.json 中。这样,当本地 dep 丢失时,我会收到一条错误消息,但不会遇到问题,因为某些 dep 未全局安装,例如 karma 插件。
是否有更好(更短)的方法来使用本地库定义 npm 脚本?这个特拉维斯兼容吗?
编辑:
如果不是很明显,我在全局安装了相同的库,但我想使用这些项目的本地安装。这意味着当我启动 karma 时,karma start全局安装的版本将启动 karma 服务器,这意味着如果我没有全局安装所有 karma 插件,则会出现错误。
我有Windows的另一个问题,所以这里描述的解决方案:如何使用本地安装的包在node_modules?不工作。据我所知,Windows 无法识别#!/bin/sh和head 部分,并且没有 sh 命令。#!/usr/bin/env node至少在 webstorm 终端中不是这样。Git bash 有 sh 命令,但我想从 webstorm 终端运行这些 npm 脚本。
一种可能的解决方案是以某种方式修复 webstorm,以便它可以从终端使用 sh。之后我可以使用$(npm bin)我假设的。但这只是一个猜测。我不确定这是否可以做到。
npm在执行使用(包括两个“神奇”快捷方式和)运行的命令之前,会自动将路径添加./node_modules/.bin到您的环境中PATHnpm runnpm startnpm test
你可以这样设置:
"scripts": {
"test": "karma start",
"node-test": "jasmine",
"build": "gulp build"
}
Run Code Online (Sandbox Code Playgroud)
假设您的 或 中列出了 karma、jasmine 和 gulp-cli devDependencies(dependencies以便在执行操作时安装它们npm install)
是的,它与 travis 兼容。以下是在 travis 上测试的包的示例,使用tap该包作为模块安装在本地:
https://github.com/scriptoLLC/couchdown/
| 归档时间: |
|
| 查看次数: |
5829 次 |
| 最近记录: |