我对数据库的经验很少,但是对Web开发的经验却很少。我有一个网页,其中有html和打字稿(客户端)。这主要是一个个人项目,因此我不打算为此做服务器端。我正在尝试使用sequelize访问我下载的数据库。我已经使用npm安装sequelize和@ types / sequelize。 @ types / sequelize部分效果很好,因为我可以看到函数定义,而没有看到。但是当我这样做时:
console.log("test");
const test = new sequelize('database', {
host: 'localhost',
operatorsAliases: false,
storage: "Assets\Database\world_sql_content_41c0c1b4c24be541f595c59b86ef9fb6-1.content"
});
console.log(test);
}
我得到了错误:
未捕获的ReferenceError:模块未定义 在index.js:8 http://192.168.1.12:8080/sequelize 404(未找到) 未捕获(承诺)错误:提取错误:404未找到 实例化http://192.168.1.12:8080/sequelize 正在加载http://192.168.1.12:8080/dist/src/sqlFunctions.js 正在加载应用 在system.js:4
据我了解,我没有为我的项目使用正确的设置来调用module.exports或require(当我尝试使用require时,它给了我一个未定义的错误)。我可以很好地导入,但是可以使用“从源导入名称”。
这是我的常规设置:
tsconfig.json:
{
"compilerOptions": {
/* Basic Options */
"target": "es6",
"module": "system",
// "lib": [],
"allowJs": true,
"outDir": "dist",
"rootDir": "./",
/* Strict Type-Checking Options */
"strict": true,
"noImplicitAny": true,
// "strictNullChecks": true,
"strictFunctionTypes": true,
// "strictPropertyInitialization": true
"noImplicitThis": true,
"alwaysStrict": true,
/* Module Resolution Options */
"moduleResolution": "node",
"esModuleInterop": true
},
"include": [
"src/**/*"
]
}
package.json:
{
"main": "dist/src/ts/main.js",
"author": "",
"license": "ISC",
"dependencies": {
"@types/sequelize": "^4.27.31",
"@types/sqlite3": "^3.1.3",
"concurrently": "^3.6.1",
"http-server": "^0.11.1",
"node": "^10.12.0",
"sequelize": "^4.41.2",
"sqlite3": "^4.0.4",
"systemjs": "^0.21.5",
"typescript": "^3.1.6"
},
"devDependencies": {}
}
关于如何解决此问题或可能做错了什么的任何想法?
如果还有其他可能有用的资源,请让我知道我将其发布。
谢谢大家!
编辑: 这是我的index.html
<!DOCTYPE html>
<html lang=en>
<head>
<title>Sundance Stats</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="./src/Assets/CSS/index.css">
<script src="node_modules/systemjs/dist/system.js"></script>
<script src="node_modules/sequelize/index.js"></script>
<script src="systemjs.config.js"></script>
</head>
<body>
<script>
System.import('app');
</script>
<div class="Container">
<div class="Logo">
<img id="logo" src="./src/Assets/Images/SSLogoV3.png" alt="Logo">
</div>
<div class="Line">
<img id="divLine" src="./src/Assets/Images/divider.png" alt="Logo">
</div>
</div>
</body>
</html>
这是错误所引用的index.js
'use strict';
/**
* The entry point.
*
* @module Sequelize
*/
module.exports = require('./lib/sequelize');