如何创建快速api可执行文件

问题描述 投票:0回答:1

我已经创建了一个功能齐全的基本javaScript Node.js Express API应用程序,我想在Windows环境中作为可执行文件运行。我想这样做,所以我可以让客户能够在不事先公开我的源代码的情况下运行我的API。

目前我一直在使用pkg npm package,它允许我将node.js应用程序打包成一个可执行文件,其中包含运行应用程序所需的一切,包括节点和我的捆绑源代码。

我的可执行文件运行但我的POST路由中断了以下错误:

    "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
    },

我的POST允许客户端使用multer.js将多部分表单中的文件上传到另一个将返回一些元数据的外部API。 pkg.js似乎没有办法发现捆绑可执行文件后包含的文件。

我的配置中有什么可以包含我上传的文件吗?是否有其他人使用其他实用程序或进程来创建node.js的可执行文件表示可以更好地处理我遇到的问题的API?

任何指导都会很棒。

javascript node.js express multer
1个回答
1
投票

尝试在package.json文件中的“assets”下添加文件。

pkg网站https://www.npmjs.com/package/pkg#config上的配置段落声明:

因此,您必须在package.json文件的pkg属性中手动指定文件 - 脚本和资产。

"pkg": {
    "scripts": "build/**/*.js",
    "assets": "views/**/*"
}

您还可以指定globs数组:

"assets": [ "assets/**/*", "images/**/*" ]

请务必致电pkg package.json或pkg。使用脚本和资产条目。

© www.soinside.com 2019 - 2024. All rights reserved.