Не удается найти общую библиотеку / ресурсы для планировщика Bryntum в проекте React при вызове Webpack - PullRequest
0 голосов
/ 23 апреля 2020

Хорошо, я работаю с пробной версией Bryntum Scheduler 3.1.1. Я создал новую папку реагирующего проекта и запустил установщик, чтобы перенести материал Bryntum в проект. Я также скопировал общие ресурсы Bryntum в основную папку проекта (не в папку отдельного проекта) (папка: _shared_b ). Я также скопировал «простые» примеры исходных файлов проекта в мой новый проект. Я также запустил сборку на общих ресурсах, расположенных в папке примеров (также создана копия в моей основной структуре проекта) (папка: _shared_a ). И я скопировал папку сборки из основной пробной папки в верхний уровень проекта (папка: _build ). Итак, у меня есть такая структура:

+ Projects
-- _build
-- _shared_a
-- _shared_b
-- react_scheduler

В моем пакете. json в зависимостях у меня есть следующие ссылки на эти папки:

"dependencies": {
  "@testing-library/jest-dom": "^4.2.4",
  "@testing-library/react": "^9.5.0",
  "@testing-library/user-event": "^7.2.1",
  "bryntum-react-shared": "file:../../_shared_a/build",
  "bryntum-resources": "file:../../_shared_b",
  "bryntum-scheduler": "file:../../_build",
  "react": "^16.13.1",
  "react-dom": "^16.13.1",
  "react-scripts": "3.4.1"
}

А вот мой webpack.config. js:

module.exports = {
    output: {
        filename: "scheduler.js",
        path: __dirname + "/dist"
    },
    module: {
        rules: [
            {
                test: /\.(js|jsx)$/,
                exclude: /node_modules/,
                use: {
                    loader: "babel-loader",
                    options: {
                        cacheDirectory: true,
                        babelrc: false,
                        presets: [
                            "@babel/env",
                            "@babel/react"
                        ],
                        plugins: [
                            "@babel/plugin-proposal-class-properties"
                        ]
                    }
                }
            },
            {
                test: /\.html$/,
                use: {
                    loader: "html-loader"
                }
            },
            {
                test: /\.css$/i,
                use: ['style-loader', 'css-loader'],
            },
            {
                test: /\.(png|jpe?g|gif|svg)$/i,
                use: [
                    {
                        loader: 'file-loader',
                    }
                ]
            },
            {
                test: /\.(ttf|woff|woff2|eot)$/i,
                use: [
                    {
                        loader: 'file-loader',
                    }
                ]
            },
            {
                test: /\.s[ac]ss$/i,
                use: [
                    // Creates `style` nodes from JS strings
                        'style-loader',
                    // Translates CSS into CommonJS
                        'css-loader',
                    // Compiles Sass to CSS
                        'sass-loader'
                ]
            }
        ]
    }
};

Для сравнения ссылки на пути по умолчанию в «простом» примере выглядят так:

"bryntum-react-shared": "file:../../_shared/build",
"bryntum-resources": "file:../../../_shared",
"bryntum-scheduler": "file:../../../../build",

Исходный проект имеет следующий путь :

\ scheduler-3.1.1-trial \ examples \ реагировать \ javascript \ simple

Исходный _shared_a имеет следующий путь:

\ scheduler-3.1.1-trial \ examples \ реаги_shared

Исходный _shared_b имеет следующий путь:

\ scheduler-3.1.1-trial \ examples_shared

И оригинальный _build имеет этот путь:

\ scheduler-3.1.1-trial \ build

Однако, когда я запускаю webpack (используя npx webpack - mode mode ) для сборки и упаковки всего этого, я получаю следующие ошибки:

ERROR in ./src/components/Header.js
Module not found: Error: Can't resolve 'bryntum-react-shared' in 'C:\Projects\react-scheduler\src\components'
 @ ./src/components/Header.js 23:0-78 51:47-52 54:39-52 60:39-52 67:39-52 76:39-55
 @ ./src/containers/Main.js
 @ ./src/App.js
 @ ./src/index.js

ERROR in ./src/containers/Main.js
Module not found: Error: Can't resolve 'bryntum-react-shared' in 'C:\Projects\react-scheduler\src\containers'
 @ ./src/containers/Main.js 26:0-56 122:43-59
 @ ./src/App.js
 @ ./src/index.js

ERROR in ./src/App.js
Module not found: Error: Can't resolve 'bryntum-react-shared/resources/shared.scss' in 'C:\Projects\react-scheduler\src'
 @ ./src/App.js 8:0-52
 @ ./src/index.js

Итак, чего мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...