gpt4 book ai didi

javascript - NodeJS 5 中未定义 Harmony 集合

转载 作者:太空宇宙 更新时间:2023-11-04 02:17:57 26 4
gpt4 key购买 nike

我有一个 NodeJS (v5.0.0)、ExpressReact 应用程序。
我插入了一些同构,因此我的一些 React 应用组件被加载到 NodeJS 中。

服务器崩溃并出现错误:ReferenceError: Set is not Defined 在我的 Alt 存储之一中:

import alt from '../alt';
import NewProjectActions from '../actions/NewProjectActions';
import LoginStore from './LoginStore';
import { Base64 } from 'js-base64';
import limits from '../../limits';

class NewProjectStore {
constructor() {
this.bindActions(NewProjectActions);
//State
this.activeStage = 1;
this.projectID = null;
this.projectName = '';
this.hasActiveComponentFinished = false;
this.isLoading = false;
this.assessment = [];
this.selectedClasses = [];
this.assignmentsUploaded = new Set(); <------ THIS LINE FAILS

The page goes on........

我尝试用 Map 替换它,但它也崩溃了。奇怪的是,你可以看到我正在使用 ES6 import,并且运行良好。
我还检查了 NodeJS Docs,它显示 Harmony 集合随 NodeJS 一起提供,不需要任何运行时标志。

我刚刚更新了我的 Babel 所以也许这与它有关。
更新:为了详细说明一下,我开始使用 Require Hooks

有人有想法吗?不用说,我已经通过 Google 搜索过,但一无所获。

感谢您的帮助!

更新:我尝试在我的 server.js 页面中使用 Set 并且它有效。看起来问题确实是 Babel 浏览这些页面,而不是 NodeJS。我还是不知道为什么它不同意 ES6 集合。

这是完整的错误堆栈跟踪:

ReferenceError: Set is not defined
at Store.NewProjectStore (NewProjectStore.js:18:36)
at new Store (/home/ec2-user/projects/peer_reviews/node_modules/alt/lib/store/index.js:155:73)
at Object.createStoreFromClass (/home/ec2-user/projects/peer_reviews/node_modules/alt/lib/store/index.js:175:15)
at Alt.createStore (/home/ec2-user/projects/peer_reviews/node_modules/alt/lib/index.js:129:77)
at Object.<anonymous> (NewProjectStore.js:99:20)
at Module._compile (module.js:456:26)
at loader (/home/ec2-user/projects/peer_reviews/node_modules/babel-register/lib/node.js:130:5)
at Object.require.extensions.(anonymous function) [as .js] (/home/ec2-user/projects/peer_reviews/node_modules/babel-register/lib/node.js:140:7)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/ec2-user/projects/peer_reviews/app/routes.js:17:24)
at Module._compile (module.js:456:26)
at loader (/home/ec2-user/projects/peer_reviews/node_modules/babel-register/lib/node.js:130:5)
at Object.require.extensions.(anonymous function) [as .js] (/home/ec2-user/projects/peer_reviews/node_modules/babel-register/lib/node.js:140:7)

最佳答案

我认为该错误与 BabelRequire Hooks 有关。 docs说它更适合简单的使用,而且由于 Babel 6 太新了,我猜这只是一个错误。

我通过切换到从命令行激活 Babel 来修复它。
有关以各种方式激活 Babel 的说明,请参阅 here .

祝大家好运。

关于javascript - NodeJS 5 中未定义 Harmony 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34877037/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com