NextJS 在导入路径中定义波浪号“~”符号的位置?
NextJS where defines tilde '~' symbol in import path?
我在使用 NextJS 的应用程序中阅读代码。它导入像 import Head from '~/components/layout/head'
这样的组件
项目结构:
-app
---components
---pages
---public
我想知道在 nextJS 中哪里将 ~
定义为根目录。
在哪里可以找到这个的配置?
试图在下一个包中发现 webpack 配置,但没有找到。
使用 Typescript 的 paths
功能,您可以指定模块映射。
// tsconfig.json
{
"compilerOptions": {
...
"baseUrl": "./src",
"paths": {
"@anything/utils/*": ["app/utils/*"],
"@anything/pipes/*": ["app/pipes/*"]
}
...
}
}
这将允许您使用
导入
import x from '@anything/utils/dateToNum';
将映射到 app/utils/dateToNum
。
如果您使用的是 webpack,则需要使用 tsconfig-paths-webpack-plugin
。
我发现这是因为babel插件babel-plugin-root-import
,因为项目在babel配置中使用了这个插件。
关于这个插件的更多信息可以查看here。
根据doc。
无需额外库即可设置模块映射
在你的文件结构中,试试这个例子。
// tsconfig.json
{
"compilerOptions": {
...
"baseUrl": ".",
"paths": {
"~*": ["./*]
}
}
}
然后转到您的文件:
import { xxx } from '~/components';
// or
import xxx from '~/components/xxx';
我在使用 NextJS 的应用程序中阅读代码。它导入像 import Head from '~/components/layout/head'
项目结构:
-app
---components
---pages
---public
我想知道在 nextJS 中哪里将 ~
定义为根目录。
在哪里可以找到这个的配置? 试图在下一个包中发现 webpack 配置,但没有找到。
使用 Typescript 的 paths
功能,您可以指定模块映射。
// tsconfig.json
{
"compilerOptions": {
...
"baseUrl": "./src",
"paths": {
"@anything/utils/*": ["app/utils/*"],
"@anything/pipes/*": ["app/pipes/*"]
}
...
}
}
这将允许您使用
导入import x from '@anything/utils/dateToNum';
将映射到 app/utils/dateToNum
。
如果您使用的是 webpack,则需要使用 tsconfig-paths-webpack-plugin
。
我发现这是因为babel插件babel-plugin-root-import
,因为项目在babel配置中使用了这个插件。
关于这个插件的更多信息可以查看here。
根据doc。
无需额外库即可设置模块映射
在你的文件结构中,试试这个例子。
// tsconfig.json
{
"compilerOptions": {
...
"baseUrl": ".",
"paths": {
"~*": ["./*]
}
}
}
然后转到您的文件:
import { xxx } from '~/components';
// or
import xxx from '~/components/xxx';