我有一个项目,它使用多个入口点来创建一些不同的应用程序。目录结构看起来类似于:
.
├── app-1
│ └── components
│ ├── a.js
│ └── b.js
├── app-2
│ └── components
├── app-3
│ └── components
├── package.json
└── webpack.config.js
在任何应用程序中,我希望能够导入文件而不引用应用程序名。例如,在app-1/components/a.js
中,我希望能够用
import B from 'components/b'
让webpack知道这是指app-1
,因为这是文件所在的地方,而不是,比如说,app-3
,以防存在相同的路径。
使用webpack.config.js
中的以下设置
...
resolve: {
modules: [
path.resolve(__dirname, 'app-3'),
path.resolve(__dirname, 'app-2'),
path.resolve(__dirname, 'app-1'),
'node_modules',
],
}
...
app-3
将具有最高优先级。我真正想要的是没有优先级,而是搜索一个基于应用程序的模块。
我不确定我是否正确地解释了这个问题,但是我已经在网上搜索了一个解决方案,却找不到解决方案。希望有人能随心所欲地解决问题,并发出尖刻的“你甚至谷歌”。
发布于 2018-01-31 12:05:15
这个插件可以帮上忙:https://www.npmjs.com/package/resolve-entry-modules-webpack-plugin。
它完全按照您的要求,将条目添加到解析路径中,同时保持不同的条目不相互导入。
发布于 2017-11-20 11:49:45
我也有同样的问题,用化名解决了它。我的进口品现在正在寻找:import "@app1/components/b"
https://stackoverflow.com/questions/47373024
复制相似问题