带有本机ES6模块的Webpack 2.0:未捕获类型错误:无法读取属性';a';未定义的
我刚刚用带有本机ES6模块的Webpack 2.0:未捕获类型错误:无法读取属性';a';未定义的,webpack,Webpack,我刚刚用[“es2015”,{“modules:false}]预设关闭了babel中的模块,以利用树抖动,现在我的应用程序不再加载了,它以前工作得很好。控制台显示未捕获类型错误:无法读取未定义的属性“a”,并显示白色页面 Webpack 2.2.0-rc.1如果您使用的是类似于“”的babel插件,则需要将其删除,因为带有本机ES6模块的Webpack无法在启用它的情况下工作 如果你对为什么会发生这种情况感兴趣,请继续阅读 调查结果: 给定这样一个导出的组件 是这样进口的吗 导出的组件将编译为此
[“es2015”,{“modules:false}]
预设关闭了babel中的模块,以利用树抖动,现在我的应用程序不再加载了,它以前工作得很好。控制台显示未捕获类型错误:无法读取未定义的属性“a”,并显示白色页面
Webpack 2.2.0-rc.1如果您使用的是类似于“”的babel插件,则需要将其删除,因为带有本机ES6模块的Webpack无法在启用它的情况下工作 如果你对为什么会发生这种情况感兴趣,请继续阅读 调查结果: 给定这样一个导出的组件 是这样进口的吗 导出的组件将编译为此 这会导致出现这样的
\uuuu网页\uu require\uuuu
这使得组件像这样断裂
如果我们添加一个命名的导出,即使不更改导入,问题也会得到解决
因为现在看起来像这样
这会导致出现这样的\uuuu网页\uu require\uuuu
为了使这一点恰当,请提出一个可搜索的问题,然后通过添加答案作为答案来自己回答。@Carcigenicate Done。谢谢
class TradeComponent extends React.Component {
// ...
}
export default TradeComponent;
import TradeComponent from 'components/Trade';
/***/ "./components/Trade/index.js":
/* exports provided: default */
/* exports used: default */
/*!***********************************!*\
!*** ./components/Trade/index.js ***!
\***********************************/
/***/ function(module, exports, __webpack_require__) {
// ... Imports and component
var _default = TradeComponent; // _default = TradeComponent()
/* harmony default export */ exports["a"] = _default; // exports = Object {}
module.exports = exports['default']; // module = Object {i: "./components/Trade/index.js", l: false, exports: undefined, hot: Object, parents: Array[1]…}
// ^ Notice the module.exports = undefined above
;
var temp2 = // ... React hot loader things and end of component
// The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {},
/******/ hot: hotCreateModule(moduleId),
/******/ parents: (hotCurrentParentsTemp = hotCurrentParents, hotCurrentParents = [], hotCurrentParentsTemp),
/******/ children: []
/******/ };
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));
/******/ // Flag the module as loaded
/******/ module.l = true; // module = Object {i: "./components/Trade/index.js", l: true, exports: undefined, hot: Object, parents: Array[1]…}
/******/ // Return the exports of the module
/******/ return module.exports; // undefined
/******/ }
/***/ "./components/Trade/QuickTrade/BuyForm.js":
/* exports provided: default */
/* exports used: default */
/*!************************************************!*\
!*** ./components/Trade/QuickTrade/BuyForm.js ***!
\************************************************/
/***/ function(module, exports, __webpack_require__) {
"use strict";
// ... More imports
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_components_Suggest__ = __webpack_require__(/*! components/Suggest */ "./components/Suggest/Suggest.js");
// __WEBPACK_IMPORTED_MODULE_9_components_Suggest__ = Object {}
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_components_Trade__ = __webpack_require__(/*! components/Trade */ "./components/Trade/index.js");
// __WEBPACK_IMPORTED_MODULE_10_components_Trade__ = undefined
// ... The rest of the component
}(__WEBPACK_IMPORTED_MODULE_10_components_Trade__["a" /* default */]);
// ^ This is where it breaks because components_Trade__ is undefined
export class TradeComponent extends React.Component {
// ...
}
export default TradeComponent;
/***/ "./components/Trade/index.js":
/* exports provided: default */
/* exports used: default */
/*!***********************************!*\
!*** ./components/Trade/index.js ***!
\***********************************/
/***/ function(module, exports, __webpack_require__) {
// ... Imports and component
var _default = TradeComponent; // _default = TradeComponent()
/* harmony default export */ exports["a"] = _default; // exports = Object {}
// Notice the missing module.exports = exports["default"]; // undefined
;
var temp2 = // ... React hot loader things and end of component
// The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {},
/******/ hot: hotCreateModule(moduleId),
/******/ parents: (hotCurrentParentsTemp = hotCurrentParents, hotCurrentParents = [], hotCurrentParentsTemp),
/******/ children: []
/******/ };
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));
/******/ // Flag the module as loaded
/******/ module.l = true; // module = Object {i: "./components/Trade/index.js", l: true, exports: Object, hot: Object, parents: Array[1]…}
/******/ // Return the exports of the module
/******/ return module.exports; // module = Object {exports: Object{a:TradeComponent()}}
/******/ }