Javascript 网页包2的Babel Transform运行时问题
下午好 这是我在报告中提到的同一个问题,但我怀疑我可能是做错事的人,因此在这里提出了一个问题 我正在尝试使用Babel配置Webpack2,其中一个要求是传输内置组件,例如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
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”
谢谢你的帮助 对于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的网页配置错误