Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack 4解析具有多个可能位置的别名_Webpack_Webpack 4 - Fatal编程技术网

Webpack 4解析具有多个可能位置的别名

Webpack 4解析具有多个可能位置的别名,webpack,webpack-4,Webpack,Webpack 4,我的项目的源代码分为两部分:共享组件和站点特定组件。看起来是这样的: /root/ /shared/ component1.js component2.js /site/ component2.js component3.js 任何组件都可以使用以下语法导入另一个组件: component3.js: import Component1 from '~/component1' import Component2 from '~/component2

我的项目的源代码分为两部分:共享组件和站点特定组件。看起来是这样的:

/root/
  /shared/
    component1.js
    component2.js
  /site/
    component2.js
    component3.js
任何组件都可以使用以下语法导入另一个组件:

component3.js:
  import Component1 from '~/component1'
  import Component2 from '~/component2'
我希望webpack在/site/folder中查找任何组件,如果找不到,则在/shared/folder中查找

我正在寻找webpack的解析别名和模块的适当组合来实现这一点

  • 目前我使用了很多符号链接。因此,指向component1的链接放置在站点文件夹中,最后一个文件夹指定为webpack入口点。这是可行的,但在实际项目中有大量的符号链接

  • 我希望~path有两个别名:/site/和/shared/。诸如此类:

  • 但它不起作用,因为别名值应该是字符串

  • 让我们尝试以下模块:

  • 导入命令将从“Component1”更改为
    导入Component1
    。这似乎是可行的,但如果我的某些组件与node_模块中的某些包具有相同的名称,该怎么办?我得设法把它们区分开来

    我认为你可以做这个网页的插件,作为公关中所描述的
    resolve: {
      alias: {
        '~': ['/path/to/site', '/path/to/shared']
      }
    }
    
    modules: [
      '/path/to/site',
      '/path/to/shared',
      'node_modules'
    ]