Skip to content

模块系统 ​

FSScript 支持 ES6 风格的模块导入导出。

导入 ​

导入脚本文件 ​

javascript
// 导入整个脚本
import 'path/to/script.fsscript'

// 具名导入
import { func1, func2 } from 'module.fsscript'

// 默认导入
import ModuleName from 'module.fsscript'

// 重命名导入
import originalName as alias from 'module.fsscript'

导入 Spring Bean ​

javascript
// 导入整个 Bean
import myService from '@myServiceBean';

// 导入 Bean 的方法
import { getUserById, saveUser } from '@userService';

// 重命名
import { saveUser as save } from '@userService';

导入 Java 类 ​

javascript
// 导入静态方法
import { format } from 'java:java.lang.String';
import { now } from 'java:java.time.LocalDateTime';

// 导入整个类
import DateUtils from 'java:com.example.utils.DateUtils';

导出 ​

导出变量 ​

javascript
export var x = 10;
export let y = 20;
export const z = 30;

导出函数 ​

javascript
export function myFunction() {
    // ...
}

默认导出 ​

javascript
export default value;

批量导出 ​

javascript
export { a, b, c };

模块化示例 ​

javascript
// utils.fsscript
export function formatMoney(value) {
    return value.toFixed(2) + ' 元';
}

export const TAX_RATE = 0.13;

// main.fsscript
import { formatMoney, TAX_RATE } from './utils.fsscript';

export let price = 100;
export let tax = price * TAX_RATE;
export let display = formatMoney(price + tax);