[英]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.coffee
到schemas.js
或schemas/
子文件夾,甚至在C ++實現的DLL。
通常的做法是對模塊名稱和導出對象的引用使用相同的名稱:
var schemas = require('./schemas')
另一種常見做法是為每個導出同時使用foo
和exports.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.