Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJS-全局定义';要求';剧本_Javascript_Node.js_Coffeescript - Fatal编程技术网

Javascript NodeJS-全局定义';要求';剧本

Javascript NodeJS-全局定义';要求';剧本,javascript,node.js,coffeescript,Javascript,Node.js,Coffeescript,这是一个有点奇怪的问题,所以希望简单的例子能起到作用,因为我计划如何使用它,这对我自己来说有点复杂 我正在将自己的模块导入到Express服务器的routes.coffee中。我只需要在routes.coffee中使用一次FS,并将其应用于所有导入的模块,以便这些脚本也可以访问它 例如,我的路线。咖啡: fs = require("fs") a = require("./a") module.exports = (app) -> app.get '/', (req, res) -

这是一个有点奇怪的问题,所以希望简单的例子能起到作用,因为我计划如何使用它,这对我自己来说有点复杂

我正在将自己的模块导入到Express服务器的routes.coffee中。我只需要在routes.coffee中使用一次FS,并将其应用于所有导入的模块,以便这些脚本也可以访问它

例如,我的路线。咖啡:

fs = require("fs")
a = require("./a")

module.exports = (app) ->
    app.get '/', (req, res) ->
        a req, res
然后a.咖啡看起来像这样:

module.exports = (req, res) ->
    cConf = JSON.parse (fs.readFileSync 'data.json', {encoding: 'utf8'})
    res.send cConf
在a.coffee中,fs在文件的顶部不是必需的,因此目前它不起作用,而是在routes.coffee中定义的。我只想在routes.coffee中导入一次fs并将其应用于所有人。我怎样才能正确地处理这件事呢


同样,这个问题有点奇怪,但我计划如何使用它肯定会有助于我计划的总体性能。提前谢谢

您可以使用
global.fs=require'fs'


也就是说,不要这样做,因为这不是污染全局命名空间的好理由

有很多好理由“污染全局命名空间”。与浏览器环境不同,节点编码器应该完全控制机器上运行的脚本,因此不需要严格的交叉兼容,这是有利的,甚至是特别可取的…是的,对,使用globals有很多很好的理由。。。就像不关心设计一样。@alex是对的,不要使用globals。使您的代码更难理解。也不要在路由中使用任何同步!你总是可以快速地需要一堆东西。映射(require)