相关疑难解决方法(0)

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

我正在开始一个新的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
        }
    ]
})
Run Code Online (Sandbox Code Playgroud)

我以前没见过@路径中的at符号().我怀疑它允许相对路径(也许?)但我想确定我理解它真正的作用.

我尝试在网上搜索,但无法找到解释(因为搜索"at sign"或使用文字字符@没有帮助作为搜索条件).

@在这条道路上做了什么(链接到文档会很棒)这是一个es6的事情?一个webpack的东西?一个vue-loader的东西?

UPDATE

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

虽然对其他stackoverflow帖子的评论不是这个问题的确切答案(在我的情况下它不是一个babel插件)但它确实指出了我找到它的正确方向.

在vue-cli为你创建的脚手架中,基本webpack配置的一部分为.vue文件设置了一个别名:

项目中的别名位置

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

谢谢您的帮助!

javascript ecmascript-6 webpack vue.js

211
推荐指数
3
解决办法
5万
查看次数

在Angular CLI中避免相对路径

我正在使用最新的Angular CLI,并且我创建了一个自定义组件文件夹,它是所有组件的集合.

例如,TextInputComponent具有TextInputConfiguration其放在里面类src/components/configurations.ts,并且在src/app/home/addnewuser/add.user.component.ts其中予使用它有:

import {TextInputConfiguration} from "../../../components/configurations";
Run Code Online (Sandbox Code Playgroud)

这很好,但随着我的应用程序变得越来越大,../我该如何处理?

以前,对于SystemJS,我将配置路径system.config.js如下:

System.config({
..
 map : {'ng_custom_widgets':'components' },
 packages : {'ng_custom_widgets':{main:'configurations.ts', defaultExtension: 'ts'},
)};
Run Code Online (Sandbox Code Playgroud)

如何使用Angular CLI为webpack生成相同的内容?

typescript webpack angular-cli angular

44
推荐指数
4
解决办法
4万
查看次数