当前位置: 首页 > 知识库问答 >
问题:

网页包2的Babel Transform运行时问题

葛子昂
2023-03-14

下午好

这是我在webpack的github上报告的同一个问题,但我怀疑我可能是做错事的人,因此在这里提出了一个问题。

我试图配置webpack 2与巴别塔,其中一个要求是转置内置插件,如符号

尽管现在工作正常,但当我尝试使用webpack和babel的transform运行时时,我无法使用exports*

输入文件(src/index.js):

export * from './secondFile'

ile.js:

export let TESTSYMBOL = Symbol('test');

export let TESTSYMBOL2 = Symbol('test2');

网页包。配置。js(仅复制相关部分):

module: {
    rules: [
        {
            test: /\.jsx?$/,
            // Skip any files outside of `src` directory
            include:path.resolve(__dirname, 'src'),
            use: {
                loader: 'babel-loader',
                options: {
                    presets: ["es2015", "stage-3"],
                    plugins: ['transform-runtime']
                }
            }
        }
    ]
}

脚本:

"webpack -d --config config/webpack.config.js"

输出文件:gist

例外情况:

Uncaught ReferenceError: exports is not defined - at Object.defineProperty(exports, "__esModule", {

开发依赖项:

  • webpack: 2.6.1,
  • webpack-dev-server: 2.4.5,
  • webpack通知器:1.5.0
  • Babel-cli: 6.24.1,
  • Babel-loader: 7.0.0,
  • 巴贝尔-插件-转换-运行时:6.23.0,
  • Babel-preset-es2015:6.24.1,
  • 巴别塔预设阶段3:6.24.1

依赖关系:-"Babel-runtime":"6.23.0"

感谢任何帮助!

共有2个答案

琴献
2023-03-14

对于IE或更旧的浏览器,我需要使用es-shims-库,它将ECMAScript规范移植到传统的JS引擎。

如果将以下LIB添加为索引上的第一个导入,则可以解决您的问题。html(或同等文件)。举个例子:

<script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.7/es5-shim.min.js"></script>

查看您可能需要的每个库的链接:ES-Shims

薛浩言
2023-03-14

问题似乎出在include上。由于某种原因,我无法使用path。解析路径。加入。网页包文档中有这样的例子。

如果webconfig如下所示,则工作正常:

 module: {
    rules: [
        {
            test: /\.js$/,
            include: [
                /src/
            ],
            // or exclude: [/node_modules/],
            use: 
                {
                    loader: 'babel-loader',
                    options: {
                        plugins: ['transform-runtime'],
                        presets: ['es2015', 'stage-3']

                    }
                }

        }
    ]
}

无论哪种方式,现在都存在未定义导出的问题,可以通过在es2015预设中将模块设置为false来解决(感谢Github的Vanuan的建议):

presets: [['es2015', { modules: false }], 'stage-3'],
 类似资料:
  • 问题内容: 我有一个页面,其中发生了许多耗时的功能。我想做的是在过程的每个步骤完成后,更新网页以使用户知道刚刚完成的步骤。本质上,用户提交查询,然后服务器查询数据库,处理数据,绘制图像并在页面上显示结果。我想让网页说出该功能执行的步骤。它会说“先查询”然后“正在处理” …等等。 伪: 我已经研究过使用Ajax来更新页面而不重新加载它,但是根据我的简单理解(对Ajax零经验),客户端将向服务器请求文

  • 我使用xampp来运行localhost,但每次我尝试运行网页时,它都会给我这个错误 < code >“此网页不可用” < code >“错误连接被拒绝” 我尝试重新安装xampp这项工作,但一旦我关闭我的笔记本电脑同样的问题happen.when重新安装一个黑色的命令提示符出现,当我运行xampp它仍然存在,如果我关闭这个提示符xampp将不会运行任何网页 我不得不将Apache端口从80更改为

  • 我正在尝试从Java代码运行另一个程序: 我没有文件。在/home/user/myoldfiles/中创建的shp使用BufferedReader获得的命令输出如下所示: 当我在终端(Ubuntu)中运行下一个命令时 它能打印 并成功创建了。shp文件。我在Java代码中做错了什么?

  • 本文向大家介绍SQL语句执行超时引发网站首页访问故障问题,包括了SQL语句执行超时引发网站首页访问故障问题的使用技巧和注意事项,需要的朋友参考一下 非常抱歉,今天早上 6:37~8:15 期间,由于获取网站首页博文列表的 SQL 语句出现突发的查询超时问题,造成访问网站首页时出现 500 错误,由此给您带来麻烦,请您谅解。 故障的情况是这样的。 故障期间日志中记录了大量下面的错误。 2020-02

  • 我弄乱了检查元素,发现每次刷新页面时,网络元素都会重置。我开始研究如何你控制台片段和什么保存日志,但是没有成功,我找不到我在找什么。我尝试做的是使用以下代码将stackoverflow网站上的“乔布斯”更改为“你好”: 我将此保存为一个代码段,但是每次访问页面时都必须手动运行此代码段。这能自动完成吗? 谢谢

  • 问题 你面前摆放着 n 个珠宝(共 n 种,每种 1 个),已知珠宝 s_i 的价值是 v_i ,重量是 w_i 。给你一个背包,你可以自由挑选珠宝装到背包中,但背包可以装载的最大重量为 t 。求背包能够装载珠宝的最大价值 v 。 解法 设 f(i,j) 为背包中放入前 i 件物品,重量不大于 j 的最大价值,其中 i in [1,n] , j in [0,t] 。有如下状态转移方程: f(i,j