Задать вопрос
pterodaktil
@pterodaktil
js developer

Почему вылетает ошибка Object(...) is not defined?

Использую webpack.
import { Babushka } from "che-to";

console.log(Babushka); // undefined
Babushka(); // TypeError: Object(...) is not a function

Почему так происходит, если Babushka === undefined? Должна же в таком случае вылетать ошибка Babushka is not a function? Как это работает?
Пытался вырыть ответ в requirejs api, в webpack'e, в дебаггере - не нашел.

P. S. Нашел причину

Вебпак превращает обычный код
import { ANY_UNDEFINED_VARIABLE } from "./hello";

console.log("ANY_UNDEFINED_VARIABLE", ANY_UNDEFINED_VARIABLE);

ANY_UNDEFINED_VARIABLE ();

в это
/***/ "./src/index.js":
/*!**********************!*\
  !*** ./src/index.js ***!
  \**********************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _hello__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./hello */ "./src/hello.js");


console.log("ANY_UNDEFINED_VARIABLE", _hello__WEBPACK_IMPORTED_MODULE_0__["ANY_UNDEFINED_VARIABLE"]);

Object(_hello__WEBPACK_IMPORTED_MODULE_0__["ANY_UNDEFINED_VARIABLE"])();


/***/ })

А вот и ответ, зачем это делать
webpack
  • Вопрос задан
  • 168 просмотров
Подписаться 2 Средний 13 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы