Я пытаюсь использовать семантическое оформление пользовательского интерфейса (хорошо семантическое-реагирование пользовательского интерфейса https://react.semantic -ui.com / theming / ) в моем веб-проекте. Проект использует Neutrino для обработки веб-пакетов. Я следовал настройке как мог в следующей статье: https://medium.com/webmonkeys/webpack-2-semantic-ui-theming-a216ddf60daf.
Большая часть этого работает, но я продолжаю получать:
[2] ^
[2] Can't resolve '../../theme.config' in '/Users/bmoellers/GitHub/univex-tooling/node_modules/semantic-ui-less/definitions/modules'
[2] in /Users/bmoellers/GitHub/univex-tooling/node_modules/semantic-ui-less/definitions/modules/transition.less (line 19, column 0)
[2] at runLoaders (/Users/bmoellers/GitHub/univex-tooling/node_modules/webpack/lib/NormalModule.js:286:20)
[2] at /Users/bmoellers/GitHub/univex-tooling/node_modules/loader-runner/lib/LoaderRunner.js:364:11
[2] at /Users/bmoellers/GitHub/univex-tooling/node_modules/loader-runner/lib/LoaderRunner.js:230:18
[2] at context.callback (/Users/bmoellers/GitHub/univex-tooling/node_modules/loader-runner/lib/LoaderRunner.js:111:13)
[2] at process._tickCallback (internal/process/next_tick.js:68:7)
Кто-нибудь знает, как сделать псевдонимы, упомянутые в статье, используя конфигурацию нейтринного веб-пакета?
Из статьи:
// в верхней части конфигурационного файла веб-пакета
module.exports = {
entry: ...,
output: {
...
},
resolve: {
alias: {
'../../theme.config$': path.join(__dirname, 'my-semantic-theme/theme.config')
}
},
module: {
...
}
}
Что я пробовал в моей конфигурации нейтрино:
neutrino.config.module
.rule('compile')
.use('babel')
.tap(options => merge({
plugins: [
["module-resolver", {
"root": [''],
"alias": {
"@univex/admin-api": "../../../src/modules/admin-api/src",
"@univex/admin-mobx": "../../../src/modules/admin-mobx/src",
"@univex/integration-component": "../../../src/modules/integration-component/src",
"@univex/models": "../../../src/modules/models/src",
"@univex/utilities": "../../../src/modules/utilities/src",
"../../theme.config$": "../../my-semantic-theme/admin/theme.config",
}
}],
],
}, options));
},
В основном, когда мы используем другие импорты в нашем коде, мы затем добавляем псевдоним к коду в нашем моно репо (так что import '@univex/admin-api
псевдонимы к ветке кода выше). Однако, похоже, это не помогает. Я также попытался переместить этот neutrino.config.resolve.alias
и установить ключ там, но все еще не решал проблему. Я также попытался удалить $
из theme.config$
.
Есть ли разница для @import
. Обратите внимание, что наша кодовая база является моно-репо, поэтому она имеет много модулей и три приложения в одной кодовой базе. Каждый построен по-своему. Каждый построен с webpack-dev-server --mode development
. Затем это контролируется нейтринными конфигурациями.