我正在为 Espruino(一种嵌入式平台)编写 Javascript 代码,但有一个限制:设备中只能保存一个文件。
要使以下代码正常工作:
var x = new require("Something");
x.hello()
Something
模块应该可以从 main.js
文件访问。 Something
模块是一个单独的文件,如下所示:
function Something() {
....
}
Something.prototype.hello = function() {
console.log("Hello there!");
}
exports = Something;
问题是;如何连接这两个文件并仍然使用 Something
模块作为 require("Something");
格式?
最佳答案
答案可以在 Espruino 论坛中找到:
# create bundle
BUNDLE="init.min.js"
echo "" > ${BUNDLE}
# Register modules via `Modules.addCached()` method
# see: http://forum.espruino.com/comments/12899741/
MODULE_NAME="FlashEEPROM"
MODULE_STR=$(uglifyjs -c -m -- ${MODULE_NAME}.js | sed 's/\"/\\\"/g' | sed "s/\n//g")
echo "Modules.addCached(\"${MODULE_NAME}\", \"${MODULE_STR}\");" >> ${BUNDLE}
uglifyjs -c -m -- init.js >> ${BUNDLE}
关于javascript - 如何手动 bundle 两个javascript文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36489163/