首页 > 解决方案 > 如何修复'错误:尚未为上下文加载模块名称“xxxxx”:_。使用带有 CoreJS 的 amd 模块转换时使用 require([])'

问题描述

我正在尝试将 CoreJS 添加到项目中以用作 polyfill。在核心 js 文件中,我有:

import 'core-js/stable';
import 'regenerator-runtime/runtime';

我的通天塔配置是:

{
    presets   : [
        [
            '@babel/env',
            {
                'useBuiltIns': 'entry',
                'corejs'     : 3,
                'modules'    : 'amd'
            }
        ]
    ]
}

文件编译后,输出js如下:

require("core-js/modules/es.symbol");

require("core-js/modules/es.symbol.description");

require("core-js/modules/es.symbol.async-iterator");

...

浏览器控制台出错:

Error: Module name "../es" has not been loaded yet for context: _. Use require([])
https://requirejs.org/docs/errors.html#notloaded

更改 require 语句以使用像 RequireJS 这样的数组来解决该文件的问题,但在 core-js 中继续发生。

示例修复:

require(["core-js/modules/es.symbol"]);

我假设 Babel 的 AMD 变压器有问题,或者可能有另一种解决方案。

标签: requirejsbabeljs

解决方案


推荐阅读