2017-08-17 88 views
1

我Node.js的项目有一个目录结构如下所示:如何使用要求()在Node.js的项目子文件夹

  • server.js
  • 的package.json
  • ...
  • 公共
    • app.js
    • 的index.html

require()调用工作正常server.js,但是当我试图要求app.js一个包,一个ReferenceError抛出:

require is not defined at app.js:1 

如何需要一个节点模块从一个文件,是不在我的项目的全球范围内?

+0

require('../../ server.js'); – Mozzie

+0

当我将它包含在app.js中时,会引发同样的错误。 –

回答

4

使用一些这样的事var db = require('../model/db');

这基本上意味着../从当前目录向上前进了一步,然后进入模型,然后为DB。

您需要使用它来向上移动目录结构,然后在require中使用它。

的node.js是一个服务器端的JavaScript执行环境 结合了V8 Javascript引擎与一群服务器端 库。 require()是node.js添加到 环境中的一个此类功能。因此,当您在终端中运行节点时,您正在运行一个包含require()的环境。

require()不是内置在浏览器中的功能。这是node.js的一个 特定功能,而不是浏览器。所以,当你试图让 让浏览器运行你的脚本时,它没有require()。

为了使用Require Js。只要按照这个link

+1

问题不在于路径。这就是'require'没有被定义为 – blex

+0

@blex如果这是问题,那么它是如何在server.js中工作的? –

+0

@Rahul Singh总结我的问题的一个很好的问题:) –

相关问题