使用 NodeJS 提供的 shell
Using the shell provided with NodeJS
安装 NodeJS 后,您的计算机中将有一个名为 NodeJS 的可执行文件,它是一个 shell。我想知道我能用它做什么...在这里您可以 运行 JS 代码,例如,在浏览器的控制台中,太棒了。
现在,是否可以在该环境中要求模块?这样做,我将能够 运行 使用这些模块提供的功能来编写一些 JS 代码,IMO 真的非常棒。
我试过使用 -g
选项安装模块(例如 npm install -g express
);然后(在 shell 中)我想 运行 require('express')
但它不起作用,它说:
Error: Cannot find module 'express'
at Function.Module._resolveFileName ...
想法?
选择一个目录,然后运行npm install express --save
,然后node
,最后var express = require('express');
根据 issue #5431,看起来 Node.JS REPL 没有找到全局安装的模块,这是预期的行为。
在 article linked from that issue 中显示:
- If you’re installing something that you want to use in your program, using require('whatever'), then install it locally, at the root of your project.
这是你的情况,所以需要安装 express
本地:
$ npm install express
$ node
> var express = require('express');
undefined
请注意,由于 var
语句,您得到的结果是 undefined
,但它确实有效。
以上答案正确。只想补充一点:转到可执行文件所在的文件夹,您会在那里找到目录 node_modules
nodejs
|-------node_modules
| |-----------npm
|-------node
|-------more staff
如果您将模块的任何文件夹粘贴到 node_modules
中,nodeJS shell 将需要它。
无论如何,我更喜欢其他解决方案而不是 CTR-C + CTRL-V
。
安装 NodeJS 后,您的计算机中将有一个名为 NodeJS 的可执行文件,它是一个 shell。我想知道我能用它做什么...在这里您可以 运行 JS 代码,例如,在浏览器的控制台中,太棒了。
现在,是否可以在该环境中要求模块?这样做,我将能够 运行 使用这些模块提供的功能来编写一些 JS 代码,IMO 真的非常棒。
我试过使用 -g
选项安装模块(例如 npm install -g express
);然后(在 shell 中)我想 运行 require('express')
但它不起作用,它说:
Error: Cannot find module 'express'
at Function.Module._resolveFileName ...
想法?
选择一个目录,然后运行npm install express --save
,然后node
,最后var express = require('express');
根据 issue #5431,看起来 Node.JS REPL 没有找到全局安装的模块,这是预期的行为。
在 article linked from that issue 中显示:
- If you’re installing something that you want to use in your program, using require('whatever'), then install it locally, at the root of your project.
这是你的情况,所以需要安装 express
本地:
$ npm install express
$ node
> var express = require('express');
undefined
请注意,由于 var
语句,您得到的结果是 undefined
,但它确实有效。
以上答案正确。只想补充一点:转到可执行文件所在的文件夹,您会在那里找到目录 node_modules
nodejs
|-------node_modules
| |-----------npm
|-------node
|-------more staff
如果您将模块的任何文件夹粘贴到 node_modules
中,nodeJS shell 将需要它。
无论如何,我更喜欢其他解决方案而不是 CTR-C + CTRL-V
。