使用@ babel / standalone时JavaScript堆满了内存

时间:2019-01-10 16:40:59

标签: javascript reactjs babeljs

我有使用create-react-app创建的react应用。我想获取用户代码并对其进行评估以呈现它。

这是我到目前为止尝试过的。

import React, { Component } from 'react';
import './App.css';
import { transform } from "@babel/standalone";

const code =  transform("<span>Hello world</span>", {
  presets: ["@babel/react", "@babel/env"],
}).code

class App extends Component {
  render() {
    return (
      <div className="App">
       <div>
         {eval(code)}
       </div>
      </div>
    );
  }
}

此代码在终端中给我以下错误。

  

致命错误:接近堆限制分配的无效标记压缩失败-JavaScript堆内存不足

如果要紧,我在Mac上。

1 个答案:

答案 0 :(得分:0)

我在一个大型的React项目中也遇到了同样的错误,为了解决这个问题,我使我的大型导入更加具体了。

例如:
来自-

import {SelectBox} from 'somelibrary-react';

至-

import SelectBox from 'somelibrary-react/select-box';

更多说明,您可以在这里找到: bundle size