node.js - 如何访问node.js应用程序的coffee脚本文件的内部结构?

标签 node.js coffeescript

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

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 文件,而不是 CoffeeScript (如果重要的话)。

最佳答案

这不是 CoffeeScript 特定的问题。您是否尝试过从主文件中的普通 js 文件导入函数?进展如何?

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

您会发现,node 的 require 使用 commonjs 模块,并且要使某些内容在模块外部可用,您需要将其分配给 module.exports 变量。

所以在你的情况下:(在 CoffeeScript 中)

module.exports.a = 'ok'
module.exports.run = () ->
  return console.log 'all-oik!'

关于node.js - 如何访问node.js应用程序的coffee脚本文件的内部结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11898308/

相关文章:

javascript - 从nodejs中的http请求获取值

node.js - redis中循环保存数据的方法

node.js - 如何检测脚本是使用 npm 还是 yarn 运行?

coffeescript - Coffeescript 中的 Base64 编码/解码

javascript - bat 侠JS : deeply nested routes

javascript - CoffeeScript 做,传递参数

javascript - 在 express 中呈现 HTML 时出错

javascript - 如何从 Java 编译并运行 Typescript?

javascript - 这个明确的超时有什么问题吗?

javascript - 如何预处理 CoffeeScript 或将 CoffeeScript 包含在 CoffeeScript 中?