2017-08-31 22 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

哈哈..我想沒有其他辦法了 –

相關問題