我正在使用節點js。我的app.js文件日益增長。我怎樣才能減少它。這樣我可以在其他文件中編寫代碼。儘管如此,我還是沒有試過,只是在谷歌上閱讀模塊。如何保持app.js文件很小
-2
A
回答
0
您可以將代碼分成不同的文件,然後使用require
將它們導入到app.js
var init = require('./config/init')(),
config = require('./config/config')
在上面的代碼中,我已經分居了一些初始化函數和配置文件到一個單獨的文件,我進口它。
0
一個簡單的例子可能是像下面,在你的app.js文件中設置您的服務器:
const express = require('express');
const http = require('http');
const app = express();
const router = require('./router'); // <= get your router here
// Call the router, now you are listening
// using the routes you have set up in the other file
router(app);
const server = http.createServer(app);
server.listen(port,() => {
console.log('Server listening on port: ', port);
});
而在你的路由器您在使用module.exports
module.exports = app => {
app.get('/', function(req, res) {
res.end('hello');
}
// all your routes here
}
導出應用功能
現在你分離出了路由的邏輯。
您也可以使用相同的過程導出多個方法或變量。
myFuncs.js
func1 function() {}
func2 function() {}
module.exports = {
func1
func2
}
(注意這裏我使用ES6是一樣module.exports = { func1: func1, func2: func2 }
,然後要求他們以同樣的方式
const myFuncs = require('./myFuncs')
myFuncs.func1() // <= call func1
myFuncs.func2() // <= call func2
你可以做與變量相同的操作,甚至可以與module.exports結合,以縮短您的代碼
個mySecrets.js
module.exports = {secret_key: 'verysecretkey'}
app.js
const secret = require('./mySecrets')
這樣,你可以讓你的api_keys等。在一個單獨的文件,或者你想爲需要導入甚至只是變量。
有提供更多的細節在這裏:https://developer.mozilla.org/en/docs/web/javascript/reference/statements/export
0
一個外部文件,例如內寫模塊:./hello.js
:
module.exports = {
function1 : function(){console.log('hello module');}
};
加載中模塊的app.js
:
var hello = require('./hello.js');
// call your function
hello.function1();
相關問題
- 1. laravel app.js非常大的文件大小
- 2. 如何根據文件大小保持滾動日誌文件?
- 3. 如何在angular2中將縮小的模板文件提供給縮小的app.js?
- 4. 如何確保angularjs同步加載app.js
- 5. 如何測試文件保持不變?
- 6. 保持git歷史文件大小爲最小值
- 7. 如何保持asp.net inputbox最小化?
- 8. 小數類型如何保持精度?
- 9. 如何保持JTextArea的大小不變?
- 10. 如何保持android屏幕大小?
- 11. 如何保持Mercurial存儲庫小?
- 12. 文件大小始終保持相同的字節數12288對小文件
- 13. Hadoop distcp - 可以讓每個文件保持一致(保留文件大小)?
- 14. 如果app.js文件沒有準備好,如何使用this.template?
- 15. 保持小數點
- 16. 如何保持文件中的行數據,直到文件python
- 17. 如何保持PyQt Grid元素的大小不變並保持所有小部件的間距?
- 18. 如何保持文字大小不影響div高度?
- 19. 如何讓HTML電子郵件簽名保持固定大小?
- 20. 如何防止WinForm控件伸展並保持固定大小
- 21. 如何保持QWidget(或QDialog)居中其父窗口小部件?
- 22. 如何保持/保護文件不被修改?
- 23. 如何保持
- 24. 如何保持
- 25. 我如何保持重寫文本文件添加文本?
- 26. Android:保持屏幕上的小部件
- 27. Java swing組件保持大小(靜態)
- 28. NodeJS:保持庫文件DRY
- 29. 保持數據庫文件
- 30. Spreadsheetgear保持文件鎖定
你是怎麼去這個嗎? – alexi2