Webpack配置文件高亮异常是因为Sublime默认用原生JavaScript语法解析Node.js环境的CommonJS模块,不支持spread、async/await及require/__dirname等,需切换为JavaScript Next语法并配置"env": {"node": true}以正确识别。

Webpack配置文件为什么高亮异常?
因为 webpack.config.js 本质是 Node.js 环境下的 CommonJS 模块,但 Sublime 默认用原生 JavaScript 语法解析,不支持 module.exports = { ... } 中的现代语法(如 spread、async/await),也不识别 __dirname、require 等全局变量——结果就是关键字变白、报错提示“require is not defined”,甚至 import/export 被标红。
必须换 JavaScript Next 语法包
原生 JavaScript 语法包对 ES6+ 和 Node.js 环境支持弱。直接右下角点击 Plain Text → 选 JavaScript Next → JavaScript 即可生效。这个包能正确解析:
-
export default(仅限 Webpack 5+ 配合 ESM 插件,否则仍推荐module.exports) -
const { resolve } = require('path')中的解构和 require -
...path.resolve(__dirname, 'src')中的扩展运算符和__dirname
如果用了 Babel 或 TypeScript,也可选 Babel → JavaScript (Babel),但需确认已安装对应插件;JavaScript Next 更轻量、无依赖。
解决 “require is not defined” 报错提示
这是 SublimeLinter 或 ESLint 插件把配置文件当浏览器环境检查了。不是代码错,是环境标识没开:
前端设计与 UI/UX 全方位优化专家。覆盖视觉层次、排版系统、色彩理论、响应式布局、交互体验、动画动效、无障碍访问、性能优化八大维度,帮助开发者将普通页面升级为高品质产品级界面。前端设计与 UI/UX 全方位优化专家。覆盖视觉层次、排版系统、色彩理论、响应式布局、交互体验、动画动效、无障碍访问、性能优化八大维度,帮助开发者将普通页面升级为高品质产品级界面。
立即学习“前端免费学习笔记(深入)”;
- 项目根目录确保有
.eslintrc.js,内容含"env": { "node": true } - 若没配 ESLint,至少禁用
jshint:打开Preferences → Package Settings → SublimeLinter → Settings,在用户设置里加:"linters": { "jshint": { "disable": true } } - 别信右下角显示的语法名——用
Ctrl+Shift+P输入Show Scope Name,确认光标处 scope 是source.js而非source.js.browser
怎么让 .config.js 后缀自动匹配正确语法?
Sublime 不会自动把 webpack.config.js 当特殊文件处理。必须手动绑定扩展名:
- 打开任意
webpack.config.js文件 → 右下角点击当前语法名(如JavaScript)→Open all with current extension as…→ 再选一次JavaScript Next → JavaScript - 该操作会写入
Preferences.sublime-settings的"extensions"字段,下次同后缀文件自动加载 - 如果还有
vite.config.js、rollup.config.js,同样操作一遍,无需额外插件
注意:改完别忘了重启 Sublime,或用 Ctrl+Shift+P → Reload Syntax 刷新当前文件——scope 不刷新,高亮不会更新。

















