2017-08-17 53 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總結我的問題的一個很好的問題:) –

相關問題