文件的导入和导出

在编写代码的时候,很显然不能将所有的代码都放在一个文件里,这时就需要导入其他的代码文件。

导出

文件里的变量、类定义之类的都只对文件内有效,如果想在外部使用,就要加上关键字 export 来导出。

例如:

// 导出变量 value
export var value = 123;

// 导出函数
export function func() {
    // ...
}

// 导出类
export class MyClass {
    // ...
}

默认导出的内容

如果只是使用 export 导出的话,在引用时就必须知道这些东西的名字,否则会无法找到他们。如果一个文件想在被引用时默认就返回一个变量(或类定义),就要在 export 后加上关键字 default

注意,一个文件只能有一个 export default

export default class MyClass {
    // ...
}

导入

导入文件很简单,使用关键字 importfrom 就好,格式是 import [something] from '相对路径'

例如,我在文件夹 A 下有两个 js 文件 index.js 和 data.js,我想在 index.js 中,引用 data.js 里的内容,就可以这么写:

// data.js

export var value = 1;
export const name = 'lala';
export var age = 12;
// index.js

// 如果只需要 value 和 name
import {value, name} from './data.js';
console.log(value);

// 如果想将所有由 export 导出的都引入
import * as data from './data.js';
console.log(data.value);

导入默认

假设 data.js 中有一个默认导出的变量:

// data.js
export default value = 123;
// index.js
// 这时导入可以任意起名
import anyName from './data.js';
console.log(anyName);

相对路径

import 中使用的通常都是相对路径,就是被引入文件指相对与当前文件的路径,相对路径中使用 . 来表示当前路径,使用 .. 表示上级路径。

如果路径没有以 . 开头,或者以 / 开头,就会从项目的根目录开始查找。