Как использовать вывод Webpack с Node ESM? - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть простой файл, который экспортируется из Webpack ....

class Test{
  constructor(){
    console.log("worked");
  }
}
export { Test }

Это производит ...

/*! exports provided: Test */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
/ __webpack_require__.d(__webpack_exports__, \"Test\", function() { return Test;
 });\nclass Test{\n  constructor(){\n    console.log(\"worked\");\n  }\n}\n\n\n\
n//# sourceURL=webpack:///./index.js?");

/***/ })

Затем я публикую и пытаюсь использовать его в проекте узла, подобном этому ...

import { Test } from "@my/test";
const a = new Test();

но когда я бегу с node --experimental-modules index.mjs, я получаю ...

import { Test } from "@my/test";
         ^^^^
SyntaxError: The requested module '@my/test' does not provide an e
xport named 'Test'
    at ModuleJob._instantiate (internal/modules/esm/module_job.js:80:21)

Я попытался использовать commonjs вместо ...

const x = require("@ccb-praestoanaly/test");
const a = new x.Test();

затем работает, используя node index.js, и я получаю ....

TypeError: x.Test is not a constructor

** Обновление **

Тоже попробовал, но это не сработало ...

class Test{
  constructor(){
    console.log("worked");
  }
}
export default { Test }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...