我有这个运行良好的脚本
"start": "nodemon -x node -r dotenv/config src/index.js"
Run Code Online (Sandbox Code Playgroud)
我想使用 babel-node 代替 node。所以有新的脚本:
"start": "nodemon -x babel-node --presets=env -r dotenv/config -- src/index.js"
Run Code Online (Sandbox Code Playgroud)
但我收到这个错误
[nodemon] starting `babel-node --presets=env -r dotenv/config src/index.js`
internal/modules/cjs/loader.js:583
throw err;
^
Error: Cannot find module 'pathTo/dotenv/config'
Run Code Online (Sandbox Code Playgroud)
你能帮我吗 ?
标题是发生的错误。我在 package.json 中创建脚本,但我想动态使用npmor yarn。我读过可以使用名为“$npm_execpath”的环境变量来实现此目的,但它不适用于我的配置。这是 package.json 部分的示例:
"scripts": {
"start": "run-p start:jsonserver start:dev",
"start:dev": "node --max_old_space_size=4096 node_modules/webpack-dev-server/bin/webpack-dev-server.js --config ./config/webpack/webpack.standalone.dev.js --open",
"start:prod": "webpack-dev-server --config ./config/webpack/webpack.standalone.prod.js",
"start:container": "webpack-dev-server --host 0.0.0.0 --port 4555",
"start:jsonserver": "node ../Testing.GtP.UI.MockServer/server.js",
"build:dev": "npm run build:standalone:dev && npm run build:module:dev"
},
Run Code Online (Sandbox Code Playgroud)
我正在尝试运行“构建”脚本,如下所示:
yarn build / npm run build
但在每个都显示错误:
“$npm_execpath”未被识别为内部或外部命令、程序或可执行批处理文件
我希望你可以帮助我。提前致谢。
在package.json内部,是否可以测试node_modules目录是否存在?我的目标是如果不存在则打印一条消息node_module,例如:
node_module not existent: use npm run dist
Run Code Online (Sandbox Code Playgroud)
dist我的 package.json中的脚本在哪里scripts。谢谢。
当我运行时npm version patch,将进行新的提交。我不想要它。
该文档相当模糊。我认为相关的标志是commit-hooks,但我不确定如何使用它。没有例子。
我尝试过不同的模式,例如:
npm version patch --commit-hooks=false
npm version patch --commit-hooks false
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用。
我与新公共管理上的Web应用程序的工作,我发现一个问题,使用需要终端命令,像这样的一些运行包时nodemon和concurrently
我通过安装
sudo npm install --save-dev nodemon
Run Code Online (Sandbox Code Playgroud)
当我尝试通过以下方式使用它时:
nodemon ./server.js
Run Code Online (Sandbox Code Playgroud)
我得到一个错误
找不到nodemon命令
和当我同时使用时一样
我也尝试过
sudo npm install --save nodemon
Run Code Online (Sandbox Code Playgroud)
而且不起作用。
只有在全局安装的情况下才可以使用
sudo npm install -g nodemon
Run Code Online (Sandbox Code Playgroud)
为什么在本地安装时不能使用它?
注意:我可以在以下位置找到可执行文件node_modules/.bin
但这下面的效果不好
node_modules/.bin/nodemon ./server.js
Run Code Online (Sandbox Code Playgroud) 最近有一个构建工具npm和package.json脚本,我有一些echo命令来说明当前正在运行的管道的哪些部分.
例如(来自我package.json):
{
"scripts": {
"clean": "rimraf a-directory/",
"preclean": "echo \"\n[ Cleaning build directories ]\n\""
}
}
Run Code Online (Sandbox Code Playgroud)
当我Bash:npm run clean它打印我的echo消息,然后清理适当的目录.
我想改变颜色,字体重量,背景文字颜色以使这些echo陈述脱颖而出并且一目了然地提供更多信息,但我甚至努力找到一个可以让我无法做到这一点的起点.
有很多关于在常规CLI/Bash脚本,通过grunt和gulp/或通过JS脚本执行此操作的信息,但我发现没有任何东西是从脚本部分尝试它package.json.
我错过了什么?所有帮助赞赏.
非常感谢.
我有一个nodejs javascript项目,但我想在本地设置一堆环境变量。创建了一个仅导出一些变量的bash文件:
#!/usr/bin/env bash
export waka=flaka
export fat=booty
Run Code Online (Sandbox Code Playgroud)
当我使用点作为源代码并从命令行运行文件时,它工作正常:
. ./env.sh
Run Code Online (Sandbox Code Playgroud)
我可以看到变量已设置
echo $waka # prints "flaka"
Run Code Online (Sandbox Code Playgroud)
但是然后我尝试通过将此命令添加到我的package.json中,使其成为npm脚本。
scripts: {
"set-env": ". ./env.sh",
...
}
Run Code Online (Sandbox Code Playgroud)
然后运行它:
npm run set-env
Run Code Online (Sandbox Code Playgroud)
脚本已运行,但未保存环境变量:
echo $waka # prints undefined (assuming you didn't already run it from command line)
Run Code Online (Sandbox Code Playgroud)
因此,我想知道为什么它不将环境变量保存为npm脚本,以及是否有可能以某种方式从npm脚本运行bash脚本,以便将环境变量保存到命令提示符的其余部分。会议。谢谢!
我正在尝试在Docker容器中安装软件包,但prepare脚本未运行。
这是Dockerfile复制问题的:
FROM ubuntu:18.04
# Replace shell with bash so we can source files to use npm
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
RUN apt-get update && apt-get upgrade -y
RUN apt-get install wget git -y
RUN wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
RUN source ~/.nvm/nvm.sh; nvm install v10.12.0; nvm use v10.12.0
RUN mkdir -p /usr/app/
WORKDIR /usr/app/
RUN source ~/.nvm/nvm.sh; npm install jcollard/d3-ng2-service#jcollard/add-dist
Run Code Online (Sandbox Code Playgroud)
在尝试直接从github安装软件包之前,以上安装nvm并切换到使用node v10.12.0和,npm v6.4.1然后会失败。
$ docker …Run Code Online (Sandbox Code Playgroud) 我试图检查是否已创建文件夹如果不创建文件夹
IF NOT EXIST dist\\js (MKDIR dist\\js)
Run Code Online (Sandbox Code Playgroud)
然后无论它是否创建了我想要运行的文件夹
& uglifyjs dev/*.js -m -o dist/js/app.js
Run Code Online (Sandbox Code Playgroud)
现在似乎&不起作用.如果文件夹存在,则不执行第二个命令.
如果我使用以下作为我的第一个声明:
IF NOT EXIST dist\\js (MKDIR dist\\js) ELSE (Echo exist)
Run Code Online (Sandbox Code Playgroud)
第一次我把两个一起运行,如:
IF NOT EXIST dist\\js (MKDIR dist\\js) ELSE (Echo hate) & echo Love & uglifyjs dev/*.js -m -o dist/js/app.js
Run Code Online (Sandbox Code Playgroud)
文件夹被创建但是没有创建app.js文件.只有当我再次运行该命令时,它才会创建app.js文件.
现在我如何最好检查是否有一个文件夹,然后继续下一个命令.
在我的package.json文件中,我具有以下脚本:
"scripts": {
"start": "npm run watch:all",
"test": "echo \"Error: no test specified\" && exit 1",
"lite": "lite-server",
"sass": "node-sass -o sass/ css/",
"watch:sass": "onchange 'sass/*.scss' -- npm run sass",
"watch:all": "parallelshell 'npm run watch:sass' 'npm run lite'"
}
Run Code Online (Sandbox Code Playgroud)
每当我运行代码时,我都会收到以下错误消息:
crs@1.0.0 start /home/hazem/crs
> npm run watch:all
> crs@1.0.0 watch:all /home/hazem/crs
> parallelshell 'npm run watch:sass' 'npm run lite'
child_process.js:422
throw new ERR_INVALID_ARG_TYPE('options.cwd', 'string', options.cwd);
^
TypeError [ERR_INVALID_ARG_TYPE]: The "options.cwd" property must be of type string. Received type function
at …Run Code Online (Sandbox Code Playgroud) npm-scripts ×10
npm ×7
node.js ×4
package.json ×3
nodemon ×2
npm-install ×2
babeljs ×1
bash ×1
batch-file ×1
build-tools ×1
cmd ×1
docker ×1
echo ×1
javascript ×1
json ×1
lite-server ×1
npm-run ×1
reactjs ×1
sass ×1
windows ×1
yarnpkg ×1