使用 pkg 打包 express 生成的应用程序

Package express generated app using pkg

我已经使用 express-generator 创建了一个快速应用程序,如下所示:express work-callendar。我没有更改 anything.Now 我想使用 pkg 命令打包它,所以我创建了以下脚本在我的 package.json

 "package":"pkg .-t latest-linux-x64 -o ./app ./app.js"

然而,当我 运行 该脚本时,出现以下错误

Not more than one entry file/directory is expected

有什么办法可以解决吗?

这是我的 package.json:

{
  "name": "work-calendar",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www",
    "package":"pkg .-t latest-linux-x64 -o ./app ./app.js"
  },
  "dependencies": {
    "body-parser": "~1.18.2",
    "cookie-parser": "~1.4.3",
    "debug": "~2.6.9",
    "express": "~4.15.5",
    "morgan": "~1.9.0",
    "pug": "2.0.0-beta11",
    "serve-favicon": "~2.4.5"
  },
  "devDependencies": {
    "pkg": "^4.3.1"
  }

让我知道我是否应该在问题中添加更多内容

我无法重新创建您的场景。我的 package.json 看起来像这样。

Node.js版本

  • 8.10

打包文件

{
    "name": "pkg-test",
    "version": "0.0.0",
    "private": true,
    "scripts": {
        "start": "node ./bin/www",
        "pkg": "pkg --target=latest-linux-x64 -o app.out app.js"
    },
    "dependencies": {
        "cookie-parser": "~1.4.3",
        "debug": "~2.6.9",
        "express": "~4.16.0",
        "http-errors": "~1.6.2",
        "jade": "~1.11.0",
        "morgan": "~1.9.0"
    },
    "devDependencies": {
        "pkg": "^4.3.1"
    }
}

最好将所有依赖项包含在 package.json 中。 虽然我在全球范围内安装了它。

命令

> npm i --save-dev pkg
> npm run pkg

成功

app.out 是在我项目的根目录下创建的。