1

我有一个基本的 Node.js+socket.io 应用程序,并且想要包含咖啡脚本文件。很容易将文件包含在

require('coffee-script');
items = require('./brain/items.coffee');

它有效 - console.log 抛出调试信息。但我无法从文件中访问变量、函数和其他内容。同样在导入文件的编译版本中,它看起来是这样的:

(function() {
  var a,run;
  a = 'ok';
  run = function() {
    return console.log('all-oik!');
  };
}).call(this);

所以它看起来对我来说就像它在自己的范围内运行并且真的无法从其他脚本访问(我错了吗?我对高级 JS 不太擅长)。

我该如何解决这个问题并从主应用程序中获取咖啡内容?

PS:主应用程序是一个普通的 .js 文件,而不是咖啡脚本,如果重要的话。

4

1 回答 1

1

这不是特定于咖啡脚本的问题。您是否尝试过从主文件中的普通 js 文件导入函数?那是怎么回事?

您可以阅读许多方便的介绍之一:http: //openmymind.net/2012/2/3/Node-Require-and-Exports/

您会发现 node 的 require 使用 commonjs 模块,并且要在模块之外提供某些东西,您需要将其分配给module.exports变量。

所以在你的情况下:(在咖啡脚本中)

module.exports.a = 'ok'
module.exports.run = () ->
  return console.log 'all-oik!'
于 2012-08-10T09:14:18.527 回答