访问节点项目内的SQL文件

访问节点项目内的SQL文件,sql,node.js,typescript,file,Sql,Node.js,Typescript,File,是否有方法访问在节点项目开发期间创建的SQL文件 我有一个文件database\u initialization.sql包含许多命令。其目的是创建数据库的基本结构。我希望它在MySQL数据库中找不到数据库名称时启动。当前,此SQL文件的内容作为const SQL:string='CREATE DATABASE myDatabase;使用我的数据库;创建表…'。我希望由sql文件填充变量sql,而不是将其内容的副本放在另一个文件中 在开发过程中,文件database\u initializatio

是否有方法访问在节点项目开发期间创建的SQL文件

我有一个文件
database\u initialization.sql
包含许多命令。其目的是创建数据库的基本结构。我希望它在MySQL数据库中找不到数据库名称时启动。当前,此SQL文件的内容作为
const SQL:string='CREATE DATABASE myDatabase;使用我的数据库;创建表…'。我希望由sql文件填充变量
sql
,而不是将其内容的副本放在另一个文件中

在开发过程中,文件
database\u initialization.sql
与TypeScript文件位于同一目录中。我当前的尝试无效:

const sql:string=readFileSync('database_initialization.sql').toString()

编辑1:

尝试读取文件同步时出现的错误:

Error: ENOENT: no such file or directory, open 'database_initialization.sql'
    at Object.openSync (fs.js:436:3)
    at Object.readFileSync (fs.js:341:35)
    at Function.initializeDatabase (/Users/myuser/Documents/myproject/src/Data/Update/UpdateQuery.ts:7:29)
    at Handshake.ApiServer.db.connect (/Users/myuser/Documents/myproject/src/ApiServer.ts:45:25)
    at Handshake.<anonymous> (/Users/myuser/Documents/myproject/node_modules/mysql/lib/Connection.js:525:10)
    at Handshake._callback (/Users/myuser/Documents/myproject/node_modules/mysql/lib/Connection.js:491:16)
    at Handshake.Sequence.end (/Users/myuser/Documents/myproject/node_modules/mysql/lib/protocol/sequences/Sequence.js:83:24)
    at Handshake.Sequence.OkPacket (/Users/myuser/Documents/myproject/node_modules/mysql/lib/protocol/sequences/Sequence.js:92:8)
    at Protocol._parsePacket (/Users/myuser/Documents/myproject/node_modules/mysql/lib/protocol/Protocol.js:291:23)
    at Parser._parsePacket (/Users/myuser/Documents/myproject/node_modules/mysql/lib/protocol/Parser.js:433:10)
错误:enoint:没有这样的文件或目录,请打开“database\u initialization.sql”
在Object.openSync(fs.js:436:3)
在Object.readFileSync(fs.js:341:35)
在Function.initializeDatabase(/Users/myuser/Documents/myproject/src/Data/Update/UpdateQuery.ts:7:29)
在Handshake.ApiServer.db.connect(/Users/myuser/Documents/myproject/src/ApiServer.ts:45:25)
握手时。(/Users/myuser/Documents/myproject/node_modules/mysql/lib/Connection.js:525:10)
握手时。_回调(/Users/myuser/Documents/myproject/node_modules/mysql/lib/Connection.js:491:16)
在Handshake.Sequence.end(/Users/myuser/Documents/myproject/node_modules/mysql/lib/protocol/sequences/Sequence.js:83:24)
在Handshake.Sequence.OkPacket(/Users/myuser/Documents/myproject/node_modules/mysql/lib/protocol/sequences/Sequence.js:92:8)
at Protocol._parsePacket(/Users/myuser/Documents/myproject/node_modules/mysql/lib/Protocol/Protocol.js:291:23)
在Parser._parsePacket(/Users/myuser/Documents/myproject/node_modules/mysql/lib/protocol/Parser.js:433:10)

您的
readFileSync
出现了什么错误?猜测它不知道找到该文件的目录?@Joe在编辑1中添加了错误。是的,您只需要找出路径或执行类似于
const sql:string=readFileSync(uu dirname+'database_initialization.sql')。toString()@是乔干的。
\u目录名
+
/
+
数据库\u初始化.sql
。谢谢!