首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SyntaxError:节点js中意外的令牌“导出”错误

SyntaxError:节点js中意外的令牌“导出”错误
EN

Stack Overflow用户
提问于 2021-05-27 05:08:30
回答 3查看 2.7K关注 0票数 1
代码语言:javascript
复制
"node": "14.16.0",
"npm": "6.14.11"

我有三个js文件,

dev.js

代码语言:javascript
复制
const keys = {
    googleClientID: 'creds',
    googleClientSecret: 'creds',
    mongoURI: 'creds',
    cookieKey: 'creds'
}

export { keys };

prod.js

代码语言:javascript
复制
const pKeys = {
    googleClientID: process.env.GOOGLE_CLIENT_ID,
    googleClientSecret: process.env.GOOGLE_CLIENT_SECRET,
    mongoURI: process.env.MONGO_URI,
    cookieKey: process.env.COOKIE_KEY
}

export { pkeys };

key.js

代码语言:javascript
复制
if(process.env.NODE_ENV === 'production'){
    export { pKeys } from './prod.js'
} else{
    export { keys } from './dev.js';
}

当我这样做的时候,我得到了这个错误:

代码语言:javascript
复制
file:///home/vaibhav/Documents/email-app/email-server/config/key.js:2
    export { pKeys } from './prod.js'
    ^^^^^^

SyntaxError: Unexpected token 'export'

我哪里出问题了?因为根据这个MDN,如果您深入到示例和“导出自”,我做了同样的事情。如果我需要提供任何其他信息,请告诉我,因为我在javascrpt方面不是很强。同样在package.json内部,我设置了:

代码语言:javascript
复制
"type": "module"
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-05-27 05:54:27

您不能在node.js中使用if语句内部的导出,但是下面的代码应该能够完成您想要实现的任务:

代码语言:javascript
复制
    import { keys as devKeys } from './dev.js';
    import { pKeys as prodKeys } from './prod.js';

    export const keys = process.env.NODE_ENV === 'production' ? null : devKeys;
    export const pKeys = process.env.NODE_ENV === 'production' ? prodKeys : null;
票数 2
EN

Stack Overflow用户

发布于 2021-05-27 05:14:32

根据我的理解,您正在从key.js重新导出密钥。

在key.js中试试这个:

代码语言:javascript
复制
import { pKeys as importedPKeys } from './prod.js'; // I think you had a typo for pKeys in prod.js export
import { keys as importedKeys } from './dev.js';
export let keys;
export let pKeys;
if(process.env.NODE_ENV === 'production'){
  pKeys = importedPKeys;
} else{
  keys = importedKeys;
}
票数 0
EN

Stack Overflow用户

发布于 2021-05-27 05:33:06

好的,根据这条线,我学到的是,如果其他语句可能是,我不确定你不能在里面导出。但是,解决我的问题是在那里,它是用一种稍微不同的方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67715988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档