我正在从https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens进行node.js服务器设置.我是node.js的新手.我正在安装npm install nodemon --save
.但是当我用这个运行服务器的时候nodemon server.js
.
在终端显示:
nodemon不被识别为内部或外部命令,可操作程序或批处理文件
node server.js
命令工作并启动服务器,但nodemon
命令不起作用.
我从https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens视频中设置了节点js服务器.
我不知道为什么它不工作我已经尝试了一些安装nodemon的命令.
npm install -g nodemon
npm install -g nodemon --save
npm install --save-dev nodemon
npm install -g nodemon@debug
npm install -g --force nodemon
Run Code Online (Sandbox Code Playgroud)
我看到一个链接我无法全局安装nodemon,"nodemon"无法识别,但我不知道如何设置路径,因为我的项目位于D盘.
我想跑nodemon server.js
.如果有任何机构有想法请分享.提前致谢.
我已经nodemon
在我的系统中安装了一个全局包.它nodemon
在cmd中执行时有效.
但是当我在这个launch.json
文件中使用vscode时,vscode会抛出此异常:
请求启动:运行时可执行文件XXX\XXX\XXX\XXX \nodemon不存在
launch.json是:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "node",
"request": "launch",
"program": "app.js",
"stopOnEntry": false,
"args": [],
"cwd": ".",
"runtimeExecutable": nodemon,
"runtimeArgs": [
"--nolazy"
],
"env": {
"NODE_ENV": "development"
},
"externalConsole": false,
"preLaunchTask": "",
"sourceMaps": false,
"outDir": null
},
{
"name": "Attach",
"type": "node",
"request": "attach",
"port": 5858
}
]
}
Run Code Online (Sandbox Code Playgroud)
当我擦除nodemin时,runtimeExecutable
它与节点完美地运行
我正在寻找一种方法来使用npm脚本同时运行tsc --watch && nodemon --watch
.我可以独立运行这些命令,但是当我想要运行它们时,只执行第一个命令.例如.如果我有这个脚本:
"scripts": {
"runDeb": "set NODE_ENV=development&& tsc --watch && nodemon --watch"
}
Run Code Online (Sandbox Code Playgroud)
tsc --watch
被执行但从nodemon
未被调用,反之亦然.
我正在学习graphql
并prisma-binding
用于graphql操作。我在nodemon
启动节点服务器时遇到了此错误,它为我提供了模式文件的路径,该文件由a自动生成graphql-cli
。谁能告诉我这个错误是什么意思?
错误:
Internal watch failed: ENOSPC: System limit for number of file watchers reached, watch '/media/rehan-sattar/Development/All projects/GrpahQl/graph-ql-course/graphql-prisma/src/generated
Run Code Online (Sandbox Code Playgroud)
谢谢大家!!
感谢@McMath 的优秀答案,我现在有webpack编译我的客户端和我的服务器.我现在正努力webpack --watch
做到有用.理想情况下,当我的客户端发生变化时,我想让它为我的服务器进程生成类似nodemon的东西,以及当我的客户端发生变化时的某些类型的browserync.
我意识到它是一个捆绑器/加载器,而不是真正的任务运行器,但有没有办法实现这一目标?缺乏谷歌搜索结果似乎表明我正在尝试新的东西,但这一定已经完成了..
我总是可以将webpack包放到另一个目录并使用gulp来观察/复制它/ browsersync-ify它,但这看起来像是一个黑客..有更好的方法吗?
我目前正在使用node和nodemon.然后我开始认为使用具有节点的检查器可能有时很好,所以已经开始使用node-inspector
但是,是否可以同时运行两个?
通常运行nodemon我会使用:
nodemon server.js
//and similarly
node-debug server.js
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
nodemon --debug http.js
Run Code Online (Sandbox Code Playgroud)
但遗憾的是,这也没有用.
但两者在一起!?
我在Mac上运行El Capitan.我有节点v5.6.0和npm v3.6.0.当我尝试运行nodemon时,我得到:
-bash: nodemon: command not found
Run Code Online (Sandbox Code Playgroud)
我认为这可能意味着我没有安装nodemon,所以当我尝试使用...时安装它
sudo npm install -g nodemon
Run Code Online (Sandbox Code Playgroud)
......我明白了:
npm ERR! Darwin 15.2.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "nodemon"
npm ERR! node v5.6.0
npm ERR! npm v3.6.0
npm ERR! path /usr/local/bin/nodemon
npm ERR! code EEXIST
npm ERR! Refusing to delete /usr/local/bin/nodemon: ../lib/node_modules/nodemon/nodemon.js symlink target is not controlled by npm /usr/local
npm ERR! File exists: /usr/local/bin/nodemon
npm ERR! Move it away, and try again.
npm ERR! Please include the following file with any …
Run Code Online (Sandbox Code Playgroud) 我有一个用typescript @ 2编写的节点项目.
我的tsconfig已sourceMap
设置为true
并*.map.js
生成文件.当我*.js
通过node
或执行我编译的JavaScript文件时nodemon
,我只看到相对于js
文件的错误消息,而不是映射的typescript文件; 我认为它完全被忽略了.
是sourceMap
仅支持用于浏览器的支持?或者我可以将它与node或nodemon一起使用吗?如果是后者,我将如何启用它?
我想看到js文件中相对于typescript文件检测到的错误.
我偶然发现可以在 javascript 中向 Error 构造函数添加原因。
但是,当我尝试使用此功能时,我的应用程序无法启动,因为它不知道这个“新”构造函数参数。
> tsc && node dist/index.js
promo/promo-service/am-promo-request-handler.ts:43:104 - error TS2554: Expected 0-1 arguments, but got 2.
43 throw new Error(`Can't read Maxmind GeoLite2 City db from mmdb file '${config.pathMmdbCity}'`, { cause: err});
Found 1 error in promo/promo-service/am-promo-request-handler.ts:43
Run Code Online (Sandbox Code Playgroud)
以下所有命令均因上述编译错误而停止
nodemon
tsc && node dist/index.js
ts-node index.ts
Run Code Online (Sandbox Code Playgroud)
我将以下脚本添加到我的 package.json 中(确保询问正确的节点实例和其他工具的版本)
"check": "nodemon -v && node -v && tsc -v && ts-node -v && npm -v"
Run Code Online (Sandbox Code Playgroud)
它返回
2.0.19
v16.14.2
Version 4.7.4
v10.9.1
8.17.0
Run Code Online (Sandbox Code Playgroud)
该功能应该从节点版本 10.9.0 …
我正在运行我的nodejs应用程序 npm start
我刚安装了nodemon,
sudo npm install -g nodemon
以便在保存对文件的更改时可以重新启动服务器.
但是当我尝试启动服务器时,就像这样
nodemon ./app.js localhost 3000 or nodemon start localhost 3000
我把它作为输出
LM-SJC-00871929:webapp gdeep$ nodemon ./app.js localhost 3000
28 May 23:34:30 - [nodemon] v1.1.1
28 May 23:34:30 - [nodemon] to restart at any time, enter `rs`
28 May 23:34:30 - [nodemon] watching: *.*
28 May 23:34:30 - [nodemon] starting `node ./app.js localhost 3000`
Run Code Online (Sandbox Code Playgroud)
但是当我去我的网页时,我明白了
Oops! Google Chrome could not connect to localhost:3000
.我究竟做错了什么?
App.js在这里http://collabedit.com/t35dy
nodemon ×10
node.js ×9
javascript ×4
typescript ×3
express ×2
npm ×2
ts-node ×2
bash ×1
browser-sync ×1
frontend ×1
graphql ×1
tsc ×1
webpack ×1