javascript – 在NodeJS中要求多个模块的最佳方式

栏目: Node.js · 发布时间: 8年前

内容简介:代码日志版权声明:翻译自:http://stackoverflow.com/questions/7262869/best-way-to-require-several-modules-in-nodejs

我不太喜欢要求模块的标准方式,它是这样的:

connect = require 'connect'
express = require 'express'
redis = require 'redis'
sys = require 'sys'
coffee = require 'coffee-script'
fs = require 'fs'

这不完全是干的在一个适中的CoffeeScript服务器中,需求舞蹈占据了整个脚本的一大部分!我已经 toying 以下备选方案:

"connect,express,redis,sys,coffee-script,fs"
  .split(',').forEach (lib) -> global[lib] = require lib

既然我没有看到人们试图重构标准方法,我想我会问,这样做是否合理,如果是,有什么更好的办法吗?

请注意,咖啡脚本不是有效的标识符,因此您的代码不会真正正确导入.您可以使用CoffeeScript的灵活对象字面来很好地处理.我也会使用?=来避免不必要的重新导入模块. user211399’s answer

建成:

global[id] ?= require name for id, name of {
    "connect", "express", "redis", "sys", coffee: "coffee-script", "fs" }

                                                                    <sup>[07001]</sup>

由于我允许您在不同模块中导入不同的标识符,所以使用全局命名空间感觉特别不安全.我会在本地导入它们,如下所示.请注意,因为这使用eval它可能不会正常失败,如果您指定一个非法的标识符.

eval "#{id} = require(#{JSON.stringify name})" name for id, name of {
    "connect", "express", "redis", "sys", coffee: "coffee-script", "fs" }

                                                                    <sup>[07002]</sup>

代码日志版权声明:

翻译自:http://stackoverflow.com/questions/7262869/best-way-to-require-several-modules-in-nodejs


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Open Data Structures

Open Data Structures

Pat Morin / AU Press / 2013-6 / USD 29.66

Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues......一起来看看 《Open Data Structures》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具