这是我们的项目结构:
- project - a.js - b.js
在a.js中,我想使用根路径导入b.js文件,如下所示:
import c from '~/b.js';
但不使用像这样的相对路径:
import c from '../b.js';
我们使用的是原生的esmodule,而不是Babel或Webpack之类的,所以有什么办法吗?
pjngdqdw1#
这是一个非常不寻常的需求。
my-project
package.json
import c from 'my-project/b.js';
从项目中的任何位置,而不使用相对导入
… "imports": { "#b": "./b.js" }, …
在package.json中,您可以
import c from '#b';
当然,如果没有package.json,它就不能工作,因为没有package,你的项目就没有“根路径”。
a1o7rhls2#
子路径导入还支持使用目录,例如,为了使用
import {UserDao} from "#dao/UserDao.js";
在package.json中指定
"imports": { "#dao/*": "./main/dao/*", }
注意事项:
#
./main/dao/*
2条答案
按热度按时间pjngdqdw1#
这是一个非常不寻常的需求。
my-project
的package.json
,那么您可以从项目中的任何位置,而不使用相对导入
在
package.json
中,您可以当然,如果没有
package.json
,它就不能工作,因为没有package,你的项目就没有“根路径”。a1o7rhls2#
子路径导入还支持使用目录,例如,为了使用
在
package.json
中指定注意事项:
#
前缀是必需的./main/dao/*
相对于package.json