#typescript #webpack #yarn-workspaces
Вопрос:
У меня есть настройка рабочих пространств пряжи. В нем у меня есть 3 рабочих пространства в зависимости от другого:
- ботинок (электрон)
- основной (использует react)
- моя основная библиотека (использует три js) «forkengine-core»
Оба написаны на машинке. Теперь для разработки я хотел бы обслуживать «основной» проект с помощью webpack, который запускается правильно, но почему-то не может получить доступ к другой рабочей области во время выполнения. Даже если это сработает, я бы хотел разместить обслуживаемую страницу через electron.
При прямом доступе к обслуживаемой странице (локальный хост:9000) Я получаю:
external "react":1 Uncaught ReferenceError: require is not defined
at Object.react (external "react":1)
at __webpack_require__ (bootstrap:19)
at Object../src/renderer.tsx (renderer.tsx:1)
at __webpack_require__ (bootstrap:19)
at startup:4
at startup:5
При доступе к нему через электрон я получаю
Uncaught Error: Cannot find module 'forkengine-core/src/SceneManager'
Require stack:
- electron/js2c/renderer_init
at Module._resolveFilename (internal/modules/cjs/loader.js:887)
at Function.o._resolveFilename (electron/js2c/renderer_init.js:33)
at Module._load (internal/modules/cjs/loader.js:732)
at Function.f._load (electron/js2c/asar_bundle.js:5)
at Function.o._load (electron/js2c/renderer_init.js:33)
at Module.require (internal/modules/cjs/loader.js:959)
at require (internal/modules/cjs/helpers.js:88)
at Object.forkengine-core/src/SceneManager (SceneManager":1)
at __webpack_require__ (bootstrap:19)
at Object../src/Scene.tsx (Scene.tsx:6)
Структура моего проекта выглядит следующим образом:
My wepack config for the react module is: https://hastebin.com/ocayihaqes.typescript
EDIT: if I remove the nodeExternals it will load at least something though all my core classes error on compile
ERROR in /home/gerolmed/forkengine/forkengine-template/modules/forkengine-core/src/GameObject.ts
../forkengine-core/src/GameObject.ts 3:35-68
[tsl] ERROR in /home/gerolmed/forkengine/forkengine-template/modules/forkengine-core/src/GameObject.ts(3,36)
TS6059: File '/home/gerolmed/forkengine/forkengine-template/modules/forkengine-core/src/components/TransformComponent.ts' is not under 'rootDir' '/home/gerolmed/forkengine/forkengine-template/modules/main/src'. 'rootDir' is expected to contain all source files.
The file is in the program because:
Imported via "./components/TransformComponent" from file '/home/gerolmed/forkengine/forkengine-template/modules/forkengine-core/src/GameObject.ts'
Imported via "./components/TransformComponent" from file '/home/gerolmed/forkengine/forkengine-template/modules/forkengine-core/src/GameObject.ts'
Root file specified for compilation
@ ../forkengine-core/src/SceneManager.ts 5:19-42
@ ./src/renderer.tsx 9:21-64