您如何在Neutrino Webpack中为`../../ theme.config`别名?

时间:2019-01-14 20:45:20

标签: themes semantic-ui neutrino

我正在尝试在我的Web项目中使用语义UI主题化(语义-ui-反应主题https://react.semantic-ui.com/theming/)。该项目正在使用Neutrino处理webpack。在下面的文章中,我会尽可能地遵循设置: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)

有人知道如何使用中微子webpack配置来执行本文中提到的别名吗?

摘自文章: //位于webpack配置文件的顶部

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构建。然后由中微子配置控制。

0 个答案:

没有答案