You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用import替代require调用函数及复用变量的最佳实践(附示例转换)

使用import替代require的最佳实践及代码转换示例

核心最佳实践

  • 遵循ES模块规范,将所有import语句放在文件顶部,避免在代码逻辑块中动态导入(除非有按需加载的明确需求)
  • 区分模块的默认导出和命名导出:默认导出用import xxx from 'module',命名导出用import { xxx } from 'module'
  • 对于需要直接调用的模块(如express这类函数式模块),先导入模块本体,再执行调用,不要合并成一行
  • 对于模块的静态方法(如http.createServer),先导入模块,再通过模块访问其方法,提升代码可读性

示例代码转换

原require写法:

const app = require('express')();
const server = require('http').createServer(app);
const io = require('socket.io')(server);

对应的ES模块import写法:

import express from 'express';
import http from 'http';
import { Server } from 'socket.io';

const app = express();
const server = http.createServer(app);
const io = new Server(server);

说明

  • express是默认导出的函数,所以直接导入后调用express()即可
  • http模块导出的是包含createServer方法的对象,导入后直接通过http.createServer调用
  • socket.io在ES模块中以命名导出的方式提供Server类,因此需要用{ Server }导入,再通过new Server(server)实例化

内容的提问来源于stack exchange,提问作者Peter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:12:45