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

在使用Webpack的Vue.js项目中使用at('@')登录路径进行ES6导入

松翔
2023-03-14

我正在启动一个新的vue.js项目,因此我使用vue-cli工具构建了一个新的webpack项目(即vue init webpack)。

在遍历生成的文件时,我注意到src/router/index.js文件中有以下导入:

import Vue from 'vue'
import Router from 'vue-router'
import Hello from '@/components/Hello' // <- this one is what my qusestion is about

Vue.use(Router)

export default new Router({
    routes: [
        {
            path: '/',
            name: 'Hello',
            component: Hello
        }
    ]
})

我以前没有在路径中看到at符号(@)。我怀疑它允许相对路径(也许?)但我想确定我明白它真正的作用。

@在此路径中做了什么(链接到文档会很棒),这是es6的功能吗?一个网络包?vue-loader的事?

感谢Felix Kling指出另一个重复的stackoverflow问题/关于这个问题的答案。

虽然另一个stackoverflow帖子上的评论不是这个问题的确切答案(在我的例子中它不是一个babel插件),但它确实给我指明了正确的方向,以找到它是什么。

这是有意义的,因为它为您提供了来自src文件的相对路径,并且消除了导入路径末尾的.vue的要求(您通常需要)。

谢谢你的帮助!

共有1个答案

金珂
2023-03-14

这是通过Webpackresolve.alias配置选项完成的,并不特定于VUE。

在Vue Webpack模板中,Webpack被配置为将@/替换为src路径:

  const path = require('path');

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

别名用作:

import '@/<path inside src folder>';
 类似资料:
  • 问题内容: 我正在尝试使用相对路径来定位Java类中的可执行文件,而不是有效的硬编码行,但是使用类似以下内容的方法: 失败…在Java中使用相对路径的正确方法是什么? 问题答案: 最可能的解释是您当前的目录不在您认为的位置。您可以检查user.dir的系统属性以查看应用程序的基本路径是什么,或者可以执行以下操作: 在使用该相对路径调试相对引用的起始位置之前。

  • 问题内容: 仅选择目录,如何使用JFileChooser获取目录的绝对路径? 问题答案: 用: 和…一起: 然后调用返回的对象。

  • 我正在使用webpack将一些boostrap和其他css文件捆绑在一起,下面是webpack.config.js文件var htmlWebPack=require('html-webpack-plugin');var ExtractTextPlugin=require(“extract-text-webpack-plugin”); 我引用了main.ts文件中的引导文件夹,如下所示 但是当我运行

  • 我有一个带有javascript的html页面,我想在其中自动登录用户。我有以下代码: 在键斗篷服务器上,我添加了网络起源'*'。我得到以下错误: 邮递http://localhost:8180/auth/realms/Myrealm/protocol/openid-连接/令牌400(错误请求) 我不知道为什么它不起作用。当我使用终端时,它工作正常: (钥匙斗篷版本4.8.3) 我得到以下回应:

  • 问题内容: 这有效: 但这不是: 我越来越: 是否可以(和/或如何)使用“动态”路径?(不对路径进行硬编码或依靠相对路径)。 问题答案: 不,这是不可能的。ES6模块需要能够静态解析其依赖关系,而无需执行模块代码,以便语句能够可靠地工作。模块说明符必须是字符串文字。 但是,您选择的模块加载器应支持使用变量名动态加载模块。但是,您将无法在模块范围中获得绑定标识符(并且无法重新导出它),通常只能在回调

  • 问题内容: 因此,这是我当前通过ES6导入Webpack中的图像和图标的工作流程: 这变得很快。这就是我想要的: 我觉得必须有某种方法可以动态地从特定目录中导入所有文件(不带扩展名),然后根据需要使用这些文件。 任何人都看过此事,或者对最佳解决方案有任何想法? 更新: 使用选择的答案,我能够做到这一点: 问题答案: 我觉得必须有某种方法可以动态地从特定目录中导入所有文件(不带扩展名),然后根据需要