我正在使用Node.js構建一個MMO,並且我希望我的團隊中的一些腳本編寫者爲老闆和其他腳本對象創建腳本(duh)。我的第一個想法是在服務器上有一個文件夾,用戶可以上傳javascript文件並讓node.js自動讀取並解析目錄中的每個腳本,但我不希望他們能夠執行process.exit()for例如,或其他有害的東西。JavaScript是否有像LUA這樣的腳本語言?
有沒有一種解決方案可以讓我控制腳本編寫人員可以調用的功能?
我正在使用Node.js構建一個MMO,並且我希望我的團隊中的一些腳本編寫者爲老闆和其他腳本對象創建腳本(duh)。我的第一個想法是在服務器上有一個文件夾,用戶可以上傳javascript文件並讓node.js自動讀取並解析目錄中的每個腳本,但我不希望他們能夠執行process.exit()for例如,或其他有害的東西。JavaScript是否有像LUA這樣的腳本語言?
有沒有一種解決方案可以讓我控制腳本編寫人員可以調用的功能?
您可以控制他們無法使用vm
模塊調用哪些功能。
例如,
vm.runInNewContext(userCode, {
require: null,
process: null,
someFunc: function (x) { return x+1 },
someData: { abc: 'def' }
});
請問JavaScript的工作作爲腳本語言。我想應該。
所以,我認爲vm.runInNewContext可能是你所需要的。 看看http://nodejs.org/docs/latest/api/vm.html