gpt4 book ai didi

javascript - Node.js:从其他文件调用代码

转载 作者:行者123 更新时间:2023-12-02 20:00:06 25 4
gpt4 key购买 nike

我的主文件中有很多架构,我想将它们删除到另一个文件中。

我怎样才能做到这一点?

例如:

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 变为 exports id 为 ./schemas 的模块对象。 ./schemas.coffee也可以工作,但不建议这样做,因为稍后您可以重构 schemas.coffeeschemas.js或者 schemas/子文件夹,甚至是用 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/对于标准,和 http://nodejs.org/docs/latest/api/modules.html Node.JS中的具体实现

关于javascript - Node.js:从其他文件调用代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8110348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com