Хорошо, я работаю с пробной версией 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
Итак, чего мне не хватает?