Igo*_*tko 7 javascript node.js google-cloud-functions es6-modules
import functions from 'firebase-functions';
import UtilModuler from '@utilModuler'
exports.helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});
Run Code Online (Sandbox Code Playgroud)
从 '@utilModuler' 导入 UtilModuler;^^^^^^^^^^
语法错误:Module._compile 处的意外标识符 (internal/modules/cjs/loader.js:721:23)
注意事项
我正在使用通过导入/导出编写的第三方库(@utilModuler)。可能的解决方法:
问题:有没有办法在谷歌云功能中使用混合导入 cjs 和 esm?(除了我上面描述的选项)
在部署功能中使用类似--experimental-modules会很好
看起来,最新版本的 firebase CLI ( https://github.com/firebase/firebase-tools/releases/tag/v9.15.0 ) 添加了 ESM 支持:
$ npm install -g firebase-tools # Get the latest firebase-cli
$ firebase deploy --only functions # Deploy as usual
Run Code Online (Sandbox Code Playgroud)
和
// package.json
...
"engines": {
"node": "14"
},
"type": "module",
"dependencies": {
"@google-cloud/functions-framework": "^1.9.0",
...
},
Run Code Online (Sandbox Code Playgroud)
和一个示例函数:
// index.js
import functions from "firebase-functions";
export const helloWorld = functions.https.onRequest((request, response) => {
response.send("Hello from Firebase!");
});
Run Code Online (Sandbox Code Playgroud)
"devDependencies": {
"@babel/core": "^7.2.0",
"@babel/preset-env": "^7.2.0",
"@babel/register": "^7.0.0"
}
Run Code Online (Sandbox Code Playgroud)
.babelrc
{
"presets": ["@babel/preset-env"]
}
Run Code Online (Sandbox Code Playgroud)
入口点 Node.js 应用程序
require("@babel/register")({})
// Import the rest of our application.
module.exports = require('./index.js')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1246 次 |
| 最近记录: |