Javascript 如何创建express api可执行文件
我已经创建了一个功能齐全、相当基本的javaScript Node.js Express API应用程序,希望在windows环境中作为可执行文件运行。我希望这样做,这样我就可以让客户机能够在不向他们公开源代码的情况下在本地运行我的API 目前我一直在使用,它允许我将node.js应用程序打包成一个可执行文件,其中包含运行应用程序所需的所有内容,包括node和捆绑的源代码 我的可执行文件正在运行,但我的POST路由正在中断,出现以下错误:Javascript 如何创建express api可执行文件,javascript,node.js,express,multer,Javascript,Node.js,Express,Multer,我已经创建了一个功能齐全、相当基本的javaScript Node.js Express API应用程序,希望在windows环境中作为可执行文件运行。我希望这样做,这样我就可以让客户机能够在不向他们公开源代码的情况下在本地运行我的API 目前我一直在使用,它允许我将node.js应用程序打包成一个可执行文件,其中包含运行应用程序所需的所有内容,包括node和捆绑的源代码 我的可执行文件正在运行,但我的POST路由正在中断,出现以下错误: "name": "RequestError",
"name": "RequestError",
"message": "Error: form-data: File or directory 'C:\\**\\myapp-api\\uploads\\1553103249524_test.wav' was not included into executable at compilation stage. Please recompile adding it as asset or script.",
"cause": {
"errno": -4058,
"code": "ENOENT",
"path": "C:\\snapshot\\myapp-api\\uploads\\test.wav",
"pkg": true
},
"error": {
"errno": -4058,
"code": "ENOENT",
"path": "C:\\snapshot\\myapp-api\\uploads\\1553103249524_test.wav",
"pkg": true
},
My POST允许客户端使用另一个外部API以多部分形式上传文件,该API将返回一些元数据。pkg.js似乎没有办法发现捆绑可执行文件后包含的文件
在我的配置中,我可以做些什么来包括我上传的文件吗?是否有其他工具或流程可供其他人用于创建node.js express API的可执行文件,从而更好地处理我遇到的问题
任何指导都会很好 尝试在package.json文件的“assets”下添加文件 pkg网站上的配置段落说明: 因此,您必须在package.json文件的pkg属性中手动指定文件-脚本和资产 您还可以指定全局数组: 只需确保调用pkg package.json或pkg。使用脚本和资产条目
尝试在package.json文件的“assets”下添加文件 pkg网站上的配置段落说明: 因此,您必须在package.json文件的pkg属性中手动指定文件-脚本和资产 您还可以指定全局数组: 只需确保调用pkg package.json或pkg。使用脚本和资产条目
您可能在脚本中使用了类似的内容(我猜是因为您没有提供这部分代码) __当你打包你的.exe文件时,dirname将是错误的。把它放在任何地方并用替换掉/
app.use(express.static('./uploads'));
res.sendFile(path.join('./uploads'));
差不多吧。这对我有用
祝你好运 您可能在脚本中使用了类似的内容(我猜是因为您没有提供这部分代码) __当你打包你的.exe文件时,dirname将是错误的。把它放在任何地方并用替换掉/
app.use(express.static('./uploads'));
res.sendFile(path.join('./uploads'));
差不多吧。这对我有用
祝你好运 因此,我的项目没有
assets/.
或scripts/.
文件夹。我尝试过使用类似于“pkg”的东西:{“uploads/***}
对吗?我使用这个东西仍然有同样的问题。所以我的项目没有资产/。
或脚本/。
文件夹。我尝试过使用类似于“pkg”的东西:{“uploads/***}
对吗?我仍然有同样的问题使用这个。
app.use(express.static(__dirname+'/uploads'));
res.sendFile(path.join(__dirname+'/uploads'));
app.use(express.static('./uploads'));
res.sendFile(path.join('./uploads'));