Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 网页包2的Babel Transform运行时问题_Javascript_Webpack_Ecmascript 6_Babeljs - Fatal编程技术网

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

Javascript 网页包2的Babel Transform运行时问题,javascript,webpack,ecmascript-6,babeljs,Javascript,Webpack,Ecmascript 6,Babeljs,下午好 这是我在报告中提到的同一个问题,但我怀疑我可能是做错事的人,因此在这里提出了一个问题 我正在尝试使用Babel配置Webpack2,其中一个要求是传输内置组件,例如Symbol 尽管现在工作正常,但当我尝试使用webpack和babel的transform运行时时,我无法使用exports* 输入文件(src/index.js): secondFile.js: export let TESTSYMBOL = Symbol('test'); export let TESTSYMBOL2

下午好

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

我正在尝试使用Babel配置Webpack2,其中一个要求是传输内置组件,例如
Symbol

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

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

secondFile.js:

export let TESTSYMBOL = Symbol('test');

export let TESTSYMBOL2 = Symbol('test2');
webpack.config.js(仅复制了相关部分):

脚本

"webpack -d --config config/webpack.config.js"
Uncaught ReferenceError: exports is not defined - at Object.defineProperty(exports, "__esModule", {
输出文件

异常

"webpack -d --config config/webpack.config.js"
Uncaught ReferenceError: exports is not defined - at Object.defineProperty(exports, "__esModule", {
开发依赖项:

export let TESTSYMBOL = Symbol('test');

export let TESTSYMBOL2 = Symbol('test2');
  • “网页包”:“2.6.1”
  • “网页包开发服务器”:“2.4.5”
  • “网页包通知程序”:“1.5.0”
  • “巴别塔cli”:“6.24.1”
  • “巴别塔加载器”:“7.0.0”
  • “巴别塔插件转换运行时”:“6.23.0”
  • “巴别塔-preset-es2015”:“6.24.1”
  • “巴别塔-预设-舞台-3”:“6.24.1”
依赖关系: -“巴别塔运行时”:“6.23.0”


谢谢你的帮助

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

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

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

有关您可能需要的每个库,请参见此链接:
问题似乎出在
包含
上。由于某种原因,我无法使用
path.resolve
path.join
。网页上有这样的例子

如果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的建议):


我理解。internet explorer只是一个例子。输出不同于手动运行babel的输出(这使得symbol可以在IE等浏览器上工作。但非常感谢!这是一个方便的资源,可以随时记住。没问题。我会进一步寻找解决您问题的方法。如果我找到了,我会在这里发布。我想我找到了错误。我会更新答案!这是我怀疑@Nimrod的网页配置错误