访问节点项目内的SQL文件
是否有方法访问在节点项目开发期间创建的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
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
。谢谢!