import { getColor } from '../../../utils/tools';
但是我们想用绝对路径,因为这种情况特别多
webpack 被一个叫 dora 的给搞掉了,没法配置
import { getColor } from '/utils/tools';
求解决....... orz
@sorrycc
@llqgit 可以配置webpack,根目录下面建立 webpack.config.js 就可以了,可以参看 dva 的 example
然后 alias
config.resolve.alias = {
'util': path.join(process.cwd(), './utils'),
};
多谢了 @nikogu 我其实是想让任意模块都能用项目的根路径的
就像
import a from '/components/a';
import b from '/components/dir/b';
import c from '/components/user/info/ListPage';
如果用 alias 好像不能这样
只能:
config.resolve.alias = {
'util': path.join(process.cwd(), './utils'),
};
然后:
import a from 'a';
但是我不想所有 components 都声明在 webpack.config.js 里
我是想用 / 去指代 项目的根目录
从而省去 import 时的 无限 ../../../
可以用 resolve.modulesDirectories
假设 components 就在 project/src 下
resolve: {
modulesDirectories: [ 'src', 'node_modules' ]
}
webpack 会依次寻找 ./src/components/a 、 ../src/components/a .....
alias 也是可以实现的
alias: {
components: path.join(process.cwd(), './src/components')
}
Thanks '⌴' @TrainL
楼主好,我们都遭受相同的困扰啊;相对路径太烦了
请问下你是如何配置webpack.config.js我在根目录下建立了webpack.config.js,然后再里面输入以下内容:
var path = require('path');
module.exports = {
resolve:{
alias:{
'@':path.join(__dirname, 'src')
}
}
}
npm start之后,报以下错误

请问楼主如何配置webpack.config.js的,不会是将webpack的全部配置都写一遍吧!
less文件里的import的相对路径没法用alias解决,有什么办法吗
这个问题只是我根据实际问题产生的一个奇思妙想,具体可以根据楼上 52linyuepeng 的方案解决一些,不明白的查一下webpack文档。没有找到其他更满意的方案。关于 less 就是另一个问题的范围了。
现在的思路是,最好不要产生过多层级的目录关系,这样不仅维护麻烦,也难以查找功能代码。项目结构要尽可能的简单,扁平,有利于产品以后的拓展。
ps: 同时我也希望能学到更好的方法来解决目录地狱问题,just 4 fun
我在现在这个时间点,还是遇到了这个问题。
https://github.com/sorrycc/roadhog/blob/master/README_zh-cn.md#alias
这是这个问题的标准解决方案,希望可以帮到后面看到人。
Most helpful comment
楼主好,我们都遭受相同的困扰啊;相对路径太烦了
请问下你是如何配置
webpack.config.js我在根目录下建立了webpack.config.js,然后再里面输入以下内容:npm start之后,报以下错误请问楼主如何配置webpack.config.js的,不会是将webpack的全部配置都写一遍吧!