Vue中import与@import的区别及使用场景说明

 更新时间:2023年06月07日 11:30:19   作者:Wyyyy1024  
这篇文章主要介绍了Vue中import与@import的区别及使用场景说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

import与@import的区别及使用场景

import

script中的import是js的语法, 是在js中去引用css文件

(ES6)模块化规范:默认导入语法 import 接收名称 from '模块标识符’

使用

导入组件

import Vue from 'vue'

导入js、css、vue、less等文件

import login from '../views/login/login.vue'
import './styles/index.less'

导入第三方插件

import Vant from 'vant'

vue路由懒加载

实现路由懒加载的步骤

1.安装 @babel/plugin-syntax-dynamic-import 包。

npm install --save-dev @babel/plugin-syntax-dynamic-import

2.在 babel.config.js 配置文件中声明该插件。

module.exports = {
  presets: [
    '@vue/cli-plugin-babel/preset'
  ],
  plugins: [
    [
      'component',
      {
        libraryName: 'element-ui',
        styleLibraryName: 'theme-chalk'
      }
    ],
    '@babel/plugin-syntax-dynamic-import'
  ]
}

3.将路由改为按需加载的形式,示例代码如下:

import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
const routes = [
//import具有变量提升机制,使用箭头函数限制作用域,实现懒加载
  { path: '/login', component: ()=> import('路由组件的路径') }
]
const router = new VueRouter({
  routes
})
export default router

@import

style中的@import是stylus的语法,是在css中引用css文件

使用

导入css样式

@import './icon.less';'

Vue中import from @是什么意思?怎么配置?

一般是在项目构建时生成的文件中定义@对应的属性值,表示将路径进行替换。

比如webpack构建项目,在webpack.config.js中:

而在vite构建的项目中,可以在vite.config.js中定义路径别名:

// vite.config.js 将@替换成./src
resolve: {
		alias: [
			{ find: /^~/, replacement: '' },
			{ find: '@', replacement: resolve(__dirname, './src') }
		]
	},

于是在其他页面中,使用时:

import {xxx} from '@/a/b/c'

注意,如果是typescript中,其配置文件在tsconfig.json中。

比如:

// /router/index.js
import Home from '@views/home/index.vue'

配置文件中:

// tsconfig.json
{
  "compilerOptions": {
    "target": xxx;
    "baseURL": "./",
    "paths": {
      "@/*": ["./src/*"]
},

这里compilerOptions表示配置typescript文件的编译选项,paths指定了.ts或者.vue文件中import选项时可以使用

import xx from '@xxx'

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 如何使用 vxe-table 实现左边是树右边是表格联动功能

    如何使用 vxe-table 实现左边是树右边是表格联动功能

    使用 vxe-table 来实现左边是树,右边是表格联动功能,当需要实现左右两侧联动时,表格 vxe-grid 配合分割模板 vxe-split 就很容易实现了,下面通过实例代码给大家介绍使用 vxe-table 来实现左边是树,右边是表格联动功能,感兴趣的朋友一起看看吧
    2025-03-03
  • vue项目实现便捷接入百度地图API

    vue项目实现便捷接入百度地图API

    部分项目需要地图的嵌入,这篇文章主要介绍了vue项目中调用百度地图API使用方法,其他的地图调用与之类似,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-04-04
  • vue openlayers实现台风轨迹示例详解

    vue openlayers实现台风轨迹示例详解

    这篇文章主要为大家介绍了vue openlayers实现台风轨迹示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • vue中的v-touch事件用法说明

    vue中的v-touch事件用法说明

    这篇文章主要介绍了vue中的v-touch事件用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • vue路由跳转router-link清除历史记录的三种方式(总结)

    vue路由跳转router-link清除历史记录的三种方式(总结)

    这篇文章主要介绍了vue路由跳转router-link清除历史记录的三种方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue任意关系组件通信与跨组件监听状态vue-communication

    vue任意关系组件通信与跨组件监听状态vue-communication

    这篇文章主要介绍了vue任意关系组件通信与跨组件监听状态vue-communication,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • VUE使用draggable实现组件拖拽

    VUE使用draggable实现组件拖拽

    这篇文章主要为大家详细介绍了VUE使用draggable实现组件拖拽,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • mapbox gl开箱即用的地图引擎库

    mapbox gl开箱即用的地图引擎库

    这篇文章主要为大家介绍了一款mapbox gl开箱即用的地图引擎库,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Vue配合Django使用方式

    Vue配合Django使用方式

    Vue.js是前端三大框架之一,以其轻巧、高性能的特性脱颖而出,Vue.js专注于构建数据驱动的Web界面,采用渐进式设计,易于上手,支持组件化开发,核心功能包括响应式数据绑定和视图组件的组合,Vue还提供了生命周期、事件绑定等多种功能,支持ES6语法
    2024-09-09
  • vue2使用el-date-picker实现动态日期范围demo

    vue2使用el-date-picker实现动态日期范围demo

    这篇文章主要为大家介绍了vue2使用el-date-picker实现动态日期范围示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06

最新评论