首页 > 解决方案 > 使用节点js连接sqlite数据库文件时出错

问题描述

我是 Node.Js 的新手,并编写了以下代码来连接到 SQLite db 文件。但不幸的是,出错了。请帮忙

节点 - 4.6.0:

const sqlite3 = require('sqlite3').verbose();

let db =new sqlite3.Database('./db/program', sqlite3.OPEN_READWRITE,(err)                             
if (err) { console.error(err.message);  }
console.log('Connected to the database.');});

错误信息:

let db = new sqlite3.Database('./db/program', sqlite3.OPEN_READWRITE, (err) => {
^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:974:3

标签: node.jssqlite

解决方案


由于您使用的是 Node 4.6.0,它不支持开箱即用的 ES6 语法。您需要使用该strict模式并编写代码。let在 Node v6.0.0 之后开箱即支持。

所以,也许你可以升级 Node.JS 或者你可以添加,

"use strict";

在代码的第一行。它应该工作。

在此处检查 ES6 兼容性:https
://node.green/#ES2015-bindings-let 了解有关严格模式的更多信息:https ://www.w3schools.com/js/js_strict.asp


推荐阅读