我正在Express和Vuetify中使用“ create-nuxt-app”模板(https://github.com/nuxt/create-nuxt-app)。我使用Firebase Cloud Functions和Firestore对其进行了扩展。尝试部署功能文件夹时遇到的问题是以下错误:
[PATH TO PROJECT FOLDER]\functions\index.js:1
(function (exports, require, module, __filename, __dirname) { import Vue from 'vue'
^^^^^^
SyntaxError: Unexpected token import
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:616:28)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at [USER]\AppData\Roaming\npm\node_modules\firebase-tools\lib\triggerParser.js:15:15
我使用以下命令将项目构建到nuxt.config.js中的functions文件夹中:
buildDir: './functions',
然后我将package.json复制到functions文件夹中,安装依赖项,并尝试使用firebase deploy --only hosting,functions
进行部署。
在我读过的nuxt github问题上
extend(config, { isServer }) {
if (isServer) {
config.externals = [
nodeExternals({
whitelist: [/\.(?!(?:js|json)$).{1,5}$/i, /^vue/]
})
]
}
},
(https://github.com/Justineo/vue-awesome/issues/7#issuecomment-322034039)
作为另一个对vue-awesome有此问题的用户的解决方案,因此我用vue代替了vue-awesome来实现了此代码段,但这无济于事。