例如:
import Component from '@/components/component'
在我查看的代码中,它的行为就像../
在相对于文件路径的目录中上升一级,但我想更一般地了解它的作用。不幸的是,由于符号搜索问题,我无法在线找到任何文档。
例如:
import Component from '@/components/component'
在我查看的代码中,它的行为就像../
在相对于文件路径的目录中上升一级,但我想更一般地了解它的作用。不幸的是,由于符号搜索问题,我无法在线找到任何文档。
module标识符的含义和结构取决于module加载器或module捆绑器。module加载器不是 ECMAScript 规范的一部分。从 JavaScript 语言的角度来看,module标识符是完全不透明的。所以这真的取决于你使用的是哪个module加载器/捆绑器。
你很可能在你的 webpack/babel 配置中有类似babel-plugin-root-import的东西。
基本上它意味着从项目的根..它避免必须编写类似的东西import Component from '../../../../components/component'
编辑:它存在的一个原因是因为import Component from 'components/component'
不这样做而是在node_modules
文件夹中搜索
为了使本的回答更全面:
首先,你需要添加babel-plugin-root-import
在你devDependencies
的package.json
(如果使用yarn
:yarn add babel-plugin-root-import --dev
)。然后在您.babelrc
的plugins
密钥中添加以下行:
"plugins": [
[
"babel-plugin-root-import",
{
"rootPathPrefix": "@"
}
]
]
现在,您可以使用@
. 例如:
代替
import xx from '../../utils/somefile'
你可以
import xx from '@/utils/somefile'
如上所述,此功能默认不在 JS 中。你必须使用 babel 插件才能享受它。它的工作很简单。它允许你为你的 JS 文件指定一个默认的根源,并帮助你将文件导入映射到它。要开始通过 npm 安装:
npm install babel-plugin-root-import --save-dev
或者
yarn add babel-plugin-root-import --dev
.babelrc
在您的应用程序的根目录中创建一个并根据您的喜好配置这些设置:
{
"plugins": [
["babel-plugin-root-import", {
"rootPathSuffix": "the-preferred/root/of-all-your/js/files",
"rootPathPrefix": "@"
}]
]
}
使用上面的配置,您可以简单地从该源导入,例如:
import Myfile from "@/Myfile"
不做所有这些时髦的事情:
"/../../../Myfile"
请注意,您还可以将符号更改为任何"~"
可以漂浮您的船的符号。
我正在使用 VS 代码来构建 React Native 应用程序。
你需要的是:
在 jsconfig.json 中,添加以下代码:
{ "compilerOptions": { "baseUrl": ".", "target": "ES6", "module": "commonjs", "paths": { "@/ ":["src/ "], "@components / " : ["src/components/ "], "@core/ " : ["src/core/ "] } }, "exclude": ["node_modules"] }
基本上就像“快捷方式”:[“abs_path”]