本文介绍了如何在云功能中使用ES6(esm)导入/导出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
import functions from 'firebase-functions';
import UtilModuler from '@utilModuler'
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});
SyntaxError:Module._compile处的意外标识符
(内部/模块/cjs/loader.js :721:23)
SyntaxError: Unexpected identifier at Module._compile (internal/modules/cjs/loader.js:721:23)
注意事项
Caveats
我正在使用通过导入/导出编写的第三方库(@utilModuler)。可能的解决方法:
I'm using third party libraries(@utilModuler) which were written via import/exports. Possible workarounds:
- 叉库并使用汇总生成cjs文件。
- 的作用很吸引人,但会引起不必要的内存消耗
- Fork library and generate cjs file with rollup.
- esm works like a charm but it cause unnesecary memory consumptions
问题:有没有一种方法可以在Google云功能中使用混合导入cjs和esm?(我上面所述的选项除外)
Question: is there are a way how to use hybrid import cjs and esm in google cloud function?(except options which I described above)
很好用在部署功能中,例如
Would be nice to use in deploy function something like --experimental-modules
推荐答案
"devDependencies": {
"@babel/core": "^7.2.0",
"@babel/preset-env": "^7.2.0",
"@babel/register": "^7.0.0"
}
.babelrc
{
"presets": ["@babel/preset-env"]
}
入口点node.js应用
entry point node.js app
require("@babel/register")({})
// Import the rest of our application.
module.exports = require('./index.js')
这篇关于如何在云功能中使用ES6(esm)导入/导出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!