簡體   English   中英

Node.js:從其他文件調用代碼

[英]Node.js: Call code from other files

我的主文件中有很多Schema要刪除到另一個文件。

我怎樣才能做到這一點?

例如:

EntrySchema = new Schema 
    aa : String
    record : String
    status : String

CreditSchema = new Schema 
    credit : Number
    minute : Number
    date : Date
    #belongs_to subdomain

使用預定義的exports對象。 以下內容適用於.coffee.js文件:

將以下內容放在schemas.coffee

exports.EntrySchema = new Schema 
    aa : String
    record : String
    status : String

exports.CreditSchema = new Schema 
    credit : Number
    minute : Number
    date : Date
    #belongs_to subdomain

然后在main.js中你可以這樣做:

var s = require('./schemas')
var foo = s.CreditSchema

s成為id ./schemas模塊的exports對象。 ./schemas.coffee也可以工作,但不推薦作為以后你可以重構schemas.coffeeschemas.jsschemas/子文件夾,甚至在C ++實現的DLL。

通常的做法是對模塊名稱和導出對象的引用使用相同的名稱:

var schemas = require('./schemas')

另一種常見做法是為每個導出同時使用fooexports.foo

EntrySchema = exports.EntrySchema = new Schema 
    aa : String
    record : String
    status : String

CreditSchema = exports.CreditSchema = new Schema 
    credit : Number
    minute : Number
    date : Date
    #belongs_to subdomain

所以,你仍然可以使用更短的EntrySchema內名稱schemas.coffee並沒有訴諸exports.EntrySchema內到處schemas.coffee

這兩種做法都很方便,但既不需要也不強制執行。

exports工具是CommonJS模塊規范的實現。 有關標准,請參閱http://www.commonjs.org/specs/modules/1.0/ ,有關Node.JS中的特定實現,請參見http://nodejs.org/docs/latest/api/modules.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM