首页 > 解决方案 > 续集和客户端html

问题描述

我对数据库的经验很少,对网络开发也有一些经验。我有一个网页,其中已经有 html 和 typescript(客户端)。这主要是一个个人项目,所以我不打算为它制作服务器端。我正在尝试使用 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);
  }

我得到错误:

Uncaught ReferenceError: module is not defined at index.js:8 http://192.168.1.12:8080/sequelize 404 (Not Found) Uncaught (in promise) Error: Fetch error: 404 Not Found 实例化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/**/*"
  ]
}

包.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');

标签: node.jstypescriptsequelize.js

解决方案


推荐阅读