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

使用Nunjucks开发Mock网站时JSLint/ESLint报const错误求助

解决const关键字被标记为保留字的问题

你遇到的错误是因为代码里用了ES6(ECMAScript 2015)的const关键字,但你的JavaScript运行环境或者代码检查工具(JSLint/ESLint)没有配置为支持ES6语法。下面是具体的解决步骤:

1. 检查并升级Node.js版本

const是ES6的核心特性,Node.js从v6.0.0开始就全面支持ES6的大部分语法了。如果你的Node版本低于这个版本,就会出现这类语法报错。

  • 打开终端运行以下命令查看当前Node版本:
    node -v
    
  • 如果版本低于v6,建议升级到最新的LTS(长期支持)版本,比如v18.x或v20.x,升级后再运行你的代码应该就能正常执行了。

2. 配置ESLint支持ES6语法

如果你的Node版本已经符合要求,那问题出在ESLint的配置上。需要在项目根目录创建一个.eslintrc.json文件,添加以下配置:

{
  "env": {
    "node": true,
    "es6": true
  },
  "parserOptions": {
    "ecmaVersion": 6
  }
}

这个配置会告诉ESLint你的代码运行在Node环境中,并且支持ES6语法。

3. 配置JSLint支持ES6语法

JSLint默认对语法的限制比较严格,需要明确告诉它允许ES6语法:

  • 在你的.js文件最顶部添加一行注释:
    /*jslint es6: true */
    
    这样JSLint就会识别const等ES6关键字了。

临时替代方案(不推荐)

如果暂时没法升级Node或配置检查工具,可以把代码里的const替换成var:

var nunjucks = require('nunjucks');
var fs = require('fs');
var files = ["index.html", "About.html", "Membership.html", "Fighting%20Kites.html"];
var srcDir = "./content/";
var outDir = "./output/";

不过var存在变量提升、作用域问题,所以还是优先推荐前面的方案。

尝试完这些步骤后,再运行你的代码和检查工具,应该就能解决报错了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:16:25