尝试使用命令node database.ts
执行文件时出现错误
谁能告诉我我的语法出了什么问题?
文件如下:
import { Sequelize } from 'sequelize-typescript';
export const sequelize = new Sequelize({
database : "zemit",
dialect : "postgres",
username : "postgres",
password : "postgres",
host : "localhost",
port : 5432
});
sequelize.authenticate().then(() => {
console.log("Connected to DB");
})
.catch((err) => {
console.log(err);
})
错误提示:
import { Sequelize } from 'sequelize-typescript';
^^^^^^
SyntaxError: Cannot use import statement outside a module
?[90m at Module._compile (internal/modules/cjs/loader.js:892:18)?[39m
?[90m at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)?[39m
?[90m at Module.load (internal/modules/cjs/loader.js:812:32)?[39m
?[90m at Function.Module._load (internal/modules/cjs/loader.js:724:14)?[39m
?[90m at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)?[39m
?[90m at internal/main/run_main_module.js:17:11?[39m
答案 0 :(得分:1)
只需用“ requires”替换所有“ imports”。
我有类似的问题,可以在线搜索,但没有任何解决方法。
然后我将import替换为require,并且有效。
答案 1 :(得分:1)
node
运行时系统不支持将Typescript file
文件作为.js
文件运行。如果您使用的是Typescript
,则必须使用命令.ts
将.js
文件转换为tsc
文件(需要安装Typescript),然后运行生成的{{1 }}文件(使用.js
(而不是node database.js
)
或者您可以使用ts-node-对Node.js执行TypeScript和REPL,然后可以使用node database.ts
命令直接“运行” .ts
文件。