在node.js上添加外部JavaScript文件
我有一个节点服务器,我想添加一个外部.js文件(比如说something.js
)。 我现在有这个代码:
var st = require('./js/something');
其中something.js
是/js/
文件夹内的JavaScript文件。 服务器编译并运行,但是当我尝试使用在something.js
定义的函数节点告诉我他们没有被定义。
我也尝试使用像st.s()
运行它们,但没有任何反应,我有一个错误,说对象没有方法s()
。
谁能帮我?
谢谢,
编辑:
logging st
给{}
(我从console.log(JSON.stringify(st))
获得它console.log(JSON.stringify(st))
,同样做console.log(st)
给出结果{}
。
something.js
的内容就是something.js
定义的一堆函数
function s() { alert("s"); } function t() { alert("t"); }
Node.js使用CommonJS模块格式。 本质上,附加到exports
对象的值对模块的用户是可用的。 所以,如果你正在使用这样的模块
var st = require('./js/something'); st.s(); st.t();
你的模块必须导出这些function。 所以你需要把它们附加到exports对象。
exports.s = function () { console.log("s"); } exports.t = function () { console.log("t"); }
- ngSatellizer和Hapi / Bell不能很好的一起玩。 Promise无法解决的Twitter
- spawn()函数的“closures”callback在grunt插件中不起作用
- 如何添加查询参数到一个node.js / express.js res.redirect函数?
- MongoDB / Meteor /将MONGO_URL导出到已部署的应用程序
- 为什么添加一个分号使这个代码工作?
- 我如何在移动设备上实现一个谷歌文档类应用程序?
- 对象字面量(散列)与Promise.all
- Node.JS – 简单的Socket.IO示例不起作用。 获取debugging服务的静态内容/socket.io.js(Mac OSX / Localhost)
- 在浏览器中使用node.js,MySQL和Jade显示数据库内容