2017-08-31 40 views
2

我不喜欢节点中的整个导出/需要的东西,它需要很长时间。比方说,我有一个文件server.js,我想在whatever.js中使用函数。在HTML我只添加这头:在node.js中使用外部JavaScript文件而不使用导出并且需要

<script src='whatever.js'></script> 

,然后我可以只使用whatever.js的所有功能在我身上的剧本。

但在节点,在server.js文件我会做:

var myobject = require('./whatever.js'); 

但后来我需要将其设置为MYOBJECT,并进一步我需要去whatever.js和手动决定什么我想要导出的函数。更不用说键入myobject.someFunction()比someFunction()更长,而且我需要记住我暴露/未暴​​露的内容。

我想要的东西,我可能只是去:

require('./whatever.js'); 

,并把它所有的全球性的,没有学士学位。就像在老的html/javascript中一样。有没有办法在节点上做到这一点?

+0

https://stackoverflow.com/questions/8503599/node-js-configure-node-to-load-functions-into-the-global-scope – TimCodes

+0

不是相同的问题和可怕的答案 – foreyez

+0

最好的答案我曾阅读变量范围un nodejs:https://stackoverflow.com/a/35433080/7131047 – Fefux

回答

3

这将这样的伎俩,

var fs = require('fs'); 

eval(fs.readFileSync('whatever.js')+''); 
// here call functions from whatever.js file 
+0

哈哈,这是我见过的最骇人的废话,所以不会使用它。但这是非常棒的答案+1。 – foreyez

+0

哈哈..我想没有其他办法了 –

相关问题