关于前端开发中导入导出

Posted GHUIJS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于前端开发中导入导出相关的知识,希望对你有一定的参考价值。

前端开发中,导入导出有很多方面比如html中导入js、css,es6导入导出,scss、less中导入外部样式。是时候一一记录平时参考。

html中导入js、css

<html>
	<head>
		<meta charset="UTF-8">
		<link rel="stylesheet" type="text/css" href="asset/css/framework.css" />
		<script src="asset/js/main.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
	</body>
</html>

es6导入导出

导入到出Object

const name = 'wgh';
const age = 18;

export 
    name,
    age
<template>
</template>
<script lang='ts' setup>
import  name,age  from './exportObject'
</script>

导入导出Array

导出数组必须是默认导出,如:export default  [name,age]

const name = 'wgh';
const age = 18;

export default  [name,age]
<template>
</template>
<script lang='ts' setup>
    import person from './exportArray'
    console.log(person)//['wgh', 18]
</script>

export default和export的区别

  • export default 是默认导出,只能导出一个模块对象,一个模块中只能使用一次,import引入时直接引入默认导出的变量名即可。
  • export是导出,一个模块中可以使用多次,用于导出模块中的变量,对象,函数,类。

require(nodejs)

场用于路由动态导入,与export default相结合

  import  createRouter, createWebHashHistory, RouteRecordRaw  from 'vue-router'

  export const routes: Array<RouteRecordRaw> = [];

  require.context('./modules', false, /\\.ts/).keys().forEach((RouteName, _index, _this) => 
    routes.push(require.context('./modules', false, /\\.ts/)(RouteName).default);
  )

  const router = createRouter(
    history: createWebHashHistory(),
    routes
  )

  export default router;

 样式导入

脚本中导入(比如vue main 中,vue文件的script标签中)

import '/@/design/dastu/base.less';
import '/@/design/dastu/form.less';

scss、less中导入

<style lang='less' scoped>
    @import '@/assets/css/iconfont.css';//分号一定要写,不然报错
</style>

亦可

<style lang='less' src='@/assets/css/iconfont.css' scoped></style>

@import ~ 是什么意思

前面加 ~ 表示你后面的值为 alias, 然后就会去 webpack alias 配置中找相应的值, 然后拼接成最后的地址, 例如:

resolve: 
    alias: 
        "bootstrap": "xxx/xxx2",
        "font-awesome": "yyy/yyy2",
    
@import "~bootstrap/dist/css/bootstrap.min.css";
@import "~font-awesome/css/font-awesome.min.css";
等同于

@import "xxx/xxx2/bootstrap/dist/css/bootstrap.min.css";
@import "yyy/yyy2/font-awesome/css/font-awesome.min.css";

 import * as xxx from

例如: 

import * as common from '';

这种写法是把所有的输出包裹到common对象里

vite import.meta.globEager实现自动化引入

const modules = import.meta.globEager('./modules/**/*.ts');

const routeModuleList: AppRouteModule[] = [];

Object.keys(modules).forEach((key) => 
  const mod = modules[key].default || ;
  const modList = Array.isArray(mod) ? [...mod] : [mod];
  routeModuleList.push(...modList);
);

组件导出命名

export  default as SelfPicker  from './src/SelfPicker .vue';

导出变量重命名

import  name,age  from './exportObject';
import  name as selfName,age as selfAge  from './exportObject';

以上是关于关于前端开发中导入导出的主要内容,如果未能解决你的问题,请参考以下文章

关于如何在matlab中导入并翻译Hypemesh导出的大型刚度矩阵txt文本

我是陌生人 Java中导入导出Excel

Java中导入导出Excel

Java中导入导出Excel -- POI技术

在我的 C++ DLL 中导入方法,然后导出它

在反应中导入和导出模块