当前位置: 首页 > 知识库问答 >
问题:

@符号在javascript导入中做什么?

柏夕
2023-03-14

例如:

import Component from '@/components/component'

在我看到的代码中,它的行为类似于。/在目录中相对于文件路径上升一级,但我想更全面地了解它的作用。不幸的是,由于符号搜索问题,我无法在线找到任何文档。

共有3个答案

姚星腾
2023-03-14

为了让本的回答更全面:

首先,您需要在package.json中的devDependencies中添加babel插件根导入(如果使用warnwarn添加babel插件根导入--dev)。然后在.babelrc中,将以下行添加到插件键中:

"plugins": [
[
  "babel-plugin-root-import",
  {
    "rootPathPrefix": "@"
  }
]
]

现在,您可以使用@。例如:

而不是

从'导入xx.../.../utils/某些文件

你可以的

从“@/utils/somefile”导入xx

慎旭尧
2023-03-14

知道它很旧,但我不太确定它是如何定义的,所以查找它,经过,深入挖掘,最终在我的Vue-CLI(Vue.js)生成的Webpack配置中找到了这个

resolve: {
    extensions: ['.js', '.vue', '.json'],
    alias: {
    '@': path.join(__dirname, '..', dir)
    }
},

因此,它是一个别名,在本例中指向项目的vue cli生成的src目录的根

陈修诚
2023-03-14

模块标识符的含义和结构取决于模块加载器或模块捆绑器。模块加载器不是ECMAScript规范的一部分。从JavaScript语言的角度来看,模块标识符是完全不透明的。所以这真的取决于你使用的是哪个模块加载器/捆绑器。

您的网页包/babel配置中很可能有类似babel插件根导入的内容。

基本上,这意味着从项目的根本上。。它避免了编写类似于从“../../../../../components/Component”导入组件的

编辑:它存在的一个原因是,从“组件/组件”导入组件不这样做,而是在节点\u模块文件夹中搜索

 类似资料:
  • 问题内容: %在JavaScript中有什么作用? 关于它是什么及其作用的定义将不胜感激。 问题答案: 这是一个 模运算符 。有关JavaScript算术运算符的更多信息,请参见本文档或规范 。 %(模量) 模运算符的用法如下: var1%var2 在前面的语句中,模运算符以第二操作数为模的形式返回第一个操作数,即var1以var2为模,其中var1和var2是变量。模函数是var1除以var2的

  • 问题内容: 在以下SQL Server查询中,插入记号(^)是做什么的? 结果如下: 在找到SQUARE()函数之前,我碰到了这一点。 问题答案: 脱字号(^)转换为XOR运算符,它是“按位异或”。用简单的英语来说,它的意思是“任一个,但不是两个”。这是它的作用: 有关按位操作的详细信息,请参见MSDN页面。

  • 问题内容: 显然,Java中冒号以多种方式使用。有人介意解释它的作用吗? 例如这里: 您将如何以不同的方式编写此循环,以便不合并? 问题答案: 在Java代码中冒号有几个地方: 1)跳出标签): 2)三元条件: 3)每个循环: 4)断言: 5)切换语句中的情况: 6)方法参考

  • 问题内容: 我正在查看一些代码片段,发现多个元素在节点列表上调用了一个函数,并将forEach应用于空数组。 例如,我有类似的东西: 但我不明白它是如何工作的。谁能解释一下forEach前面的空数组的行为以及其工作原理? 问题答案: 是一个数组。 根本不使用此数组。 之所以放在页面上,是因为使用数组使您可以访问数组原型,例如。 这比打字快 接下来是一个以功能为输入的功能… …并且对于中的每个元素(

  • 在试图修复另一个人代码中的bug时,我发现了这一行:

  • 问题内容: 这是什么? 这是不时出现的关于JavaScript语法的问题的集合。这也是社区Wiki, 因此邀请所有人参与维护此列表。 为什么是这样? 堆栈溢出不允许搜索特定字符。结果,在搜索运算符和其他语法标记时,不容易找到许多问题。这也使得关闭重复项变得更加困难。下面的列表可以帮助解决此问题。 主要思想是链接到Stack Overflow上的现有问题,因此我们更容易引用它们,而不是复制ECMAS