在firebase deploy
in terminal期间,我在这一行中得到一个错误:
// index.js in the output folder
const firebase_functions_1 = __importDefault(require("firebase-functions"));
exports.buyUsedServer = firebase_functions_1.default.https.onRequest(express);
// index.ts in the source folder
import firebaseFunctions from 'firebase-functions';
export const buyUsedServer = firebaseFunctions.https.onRequest(express);
//# sourceMappingURL=index.js.map
是什么firebaseFunctions(或默认对象)导致了这里的问题?
以下是完整堆栈跟踪:
i functions: preparing functions directory for uploading...
Error: Error occurred while parsing your function triggers.
TypeError: Cannot read property 'https' of undefined
at Object.<anonymous> (/home/owner/PhpstormProjects/shopify/project/functions/outDir/index.js:170:54)
at Module._compile (internal/modules/cjs/loader.js:774:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
at Module.load (internal/modules/cjs/loader.js:641:32)
at Function.Module._load (internal/modules/cjs/loader.js:556:12)
at Module.require (internal/modules/cjs/loader.js:681:19)
at require (internal/modules/cjs/helpers.js:16:16)
at /home/owner/.nvm/versions/node/v12.4.0/lib/node_modules/firebase-tools/lib/triggerParser.js:15:15
at Object.<anonymous> (/home/owner/.nvm/versions/node/v12.4.0/lib/node_modules/firebase-tools/lib/triggerParser.js:53:3)
at Module._compile (internal/modules/cjs/loader.js:774:30)
3条答案
按热度按时间r9f1avp51#
和您一样,我想使用这个ES6导入而不是CommonJS(
require()
)。我从here得到了这个答案,它有更多的信息。
dgtucam12#
您应该执行以下操作:
首先导入模块
firebase-functions
然后,您可以调用
onRequest()
:您可以查看文档here.
eufgjt7s3#
TLDR:我所做的只是改变:
收件人:
说明:我在用
从TS到JS后,我的JS文件看起来像这样:
JS正在尝试导入从firebase-functions导出的default模块。问题是,当我查看node_modules/firebase-functions/lib/v1/index. d. ts时(将来可能会更改),它没有任何默认导出,因此我的JS代码正在导入undefined:
我所做的只是改变:
收件人:
或者只导入https模块:
你可以走了。花了我点时间。