前端开发中,导入导出有很多方面比如html中导入js、css,es6导入导出,scss、less中导入外部样式。是时候一一记录平时参考。
- <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>
- const name = 'wgh';
- const age = 18;
-
- export {
- name,
- age
- }
- <template>
- </template>
- <script lang='ts' setup>
- import { name,age } from './exportObject'
- </script>
导出数组必须是默认导出,如: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相结合
- 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>
前面加 ~ 表示你后面的值为 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 common from '';
这种写法是把所有的输出包裹到common对象里
- 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';