#author("2022-05-13T12:31:44+08:00","default:Admin","Admin")
#author("2022-06-16T14:05:10+08:00","default:Admin","Admin")
[[Vue]]

&color(red){※前提条件:本情報はVue 2.0を基づいて説明してる};
#contents

* import [#pb8152d0]

 import util from '@/libs/util'

那么这个 @ 到底是个什么意思呢?

\build\webpack.base.conf.js 文件有如下代码

#codeprettify{{
resolve: {
    <!-- 自动补全的扩展名 -->
    extensions: ['.js', '.vue', '.json'],
    <!-- 默认路径代理 -->
    <!-- 例如 import Vue from 'vue',会自动到 'vue/dist/vue.common.js'中寻找 -->
    alias: {
        '@': resolve('src'),
        '@config': resolve('config'),
        'vue$': 'vue/dist/vue.common.js'
    }
}
}}

** require [#a3a74b1a]

 import list from './list';
 //等价于
 var list = require('./list');


** 语法 [#ba629cc9]

 import test from './test.vue'

等同于:

 import test from './test'

同理:

 import test from './test.js'

等同于:

 import test from './test'

json不可以省略后缀:

 import test from './test.json'

省略为:

 import test from './test'

则编译出错。

from后的来源除了文件,还可以是文件夹:

 import test from './components'

该情况下的逻辑是:
#codeprettify{{
if(package.json存在 && package.main字段存在 && package.main指定的js存在) {
    取package.main指定的js作为from的来源,即使该js可能格式或内容错误
} else if(index.js存在){
    取index.js作为from的来源
} else {
    取index.vue作为from的来源
}
}}

#hr();
コメント:
#comment_kcaptcha

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS