angular-cli node sqlite3编译出错

  1. 描述问题 使用angular-universal创建服务时,在node里添加sqlit3模块,添加后再编译的时候总是报错,导致无法执行

2.相关代码

const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database('./src/assets/NLAT.1.db');
db.all("SELECT * from blah blah blah where this=",function(err,rows){
//rows contain values while errors, well you can figure out.
});

3.报错信息

E:\project\NetWork-Analysis\dist\server.js:33542
        throw new Error("package.json does not exist at " + package_json_path);
        ^

Error: package.json does not exist at E:\package.json
    at Object.exports.find (E:\project\NetWork-Analysis\dist\server.js:33542:15)
    at Object.<anonymous> (E:\project\NetWork-Analysis\dist\server.js:23111:27)
    at Object.module.exports (E:\project\NetWork-Analysis\dist\server.js:23317:30)
    at __webpack_require__ (E:\project\NetWork-Analysis\dist\server.js:20:30)
    at Module.<anonymous> (E:\project\NetWork-Analysis\dist\server.js:120:17)
    at __webpack_require__ (E:\project\NetWork-Analysis\dist\server.js:20:30)
    at E:\project\NetWork-Analysis\dist\server.js:84:18
    at Object.<anonymous> (E:\project\NetWork-Analysis\dist\server.js:87:10)
    at Module._compile (internal/modules/cjs/loader.js:776:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)

4.尝试过的方式,方法,报错内容提示
网上搜索过,但是没有找到相关的报错信息,报错出现在npm run serve:ssr之后,build:ssr都可以执行并编译

根据你提供的信息,首先确定是sqlite3模块的问题导致了编译错误。具体来说,报错信息中提到了 package.json 文件不存在,但是在你提供的代码中并没有涉及到 package.json 文件。这个问题可能与你使用的 sqlite3 模块有关。

建议你尝试更改代码中引用 sqlite3 模块的方式,使用以下代码进行引用:

const sqlite3 = require('sqlite3');
const db = new sqlite3.Database('./src/assets/NLAT.1.db', (err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('Connected to the database.');
});
db.serialize(() => {
  db.each(`SELECT * FROM blah blah blah WHERE this = ?`, [], (err, row) => {
    if (err) {
      console.error(err.message);
    }
    console.log(row);
  });
});
db.close((err) => {
  if (err) {
    console.error(err.message);
  }
  console.log('Close the database connection.');
});

同时,建议你检查一下是否有相关的错误信息在控制台中输出,以便更好地排查问题。如果以上方法无法解决问题,你可以尝试重新安装 sqlite3 模块,并更新你的项目依赖。