Nwjs 在NW.js构建中分发node_modules文件夹的最佳方法?

Nwjs 在NW.js构建中分发node_modules文件夹的最佳方法?,nwjs,Nwjs,我目前正在将我的node_modules文件夹复制到我的最终(Mac)应用程序中。这就避免了在用户的计算机上运行npm install,它是开箱即用的。然而,node_modules是一个巨大的文件夹(400mb+),所以最好分发一些更小的 是否有办法(对于NW.JS应用程序)以较小的大小分发/打包node_modules文件夹?(即,仅每个模块的dist文件、压缩文件等) 这是WebPack的一个很好的用例吗 您是否使用过npm cmdnpm prune 例如,runnpm prune--pr

我目前正在将我的node_modules文件夹复制到我的最终(Mac)应用程序中。这就避免了在用户的计算机上运行
npm install
,它是开箱即用的。然而,node_modules是一个巨大的文件夹(400mb+),所以最好分发一些更小的

  • 是否有办法(对于NW.JS应用程序)以较小的大小分发/打包node_modules文件夹?(即,仅每个模块的dist文件、压缩文件等)

  • 这是WebPack的一个很好的用例吗


  • 您是否使用过npm cmd
    npm prune

    例如,run
    npm prune--production
    将根据您的
    package.json
    删除所有
    devdepndencies
    。减小
    node\u模块
    文件夹的大小非常有用。您还可以创建自己的脚本来分发包

    以下是我如何分发我的包:

  • 将NW.js二进制文件客户端复制到
    dist
    文件夹

  • 将我的工作源项目复制到名为
    package.nw
    (Windows)或
    nwjs.app/Contents/Resources/
    (MacOS)中的
    app.nw
    文件夹中

  • 在您刚刚将源代码复制到的路径下运行
    npm prune--production

  • 使用npm软件包
    plist
    (适用于MacOS)或
    rcedit
    (适用于Windows)更改二进制文件客户端的版本、名称、作者等信息


  • 对于mac,如果您想发布到appstore

    Look up package.lock,则需要更改很多内容-如果您将其签入您的repo,则可以确保其他用户获得与您相同的节点模块树。不需要签入节点\模块。@ChrisCousins问题在于版本不同。它更多地是关于如何最好地为NW.JS Mac应用程序提供node_模块。由于它是一个应用程序,用户在使用它之前不需要下载节点并运行
    npm install
    。我将更新问题,使其更加具体。啊,是的,然后使用捆绑式的网页包将您的可交付成果减少为单个js文件(如果您不使用块),尝试创建dmg或pkg来交付应用程序。它将压缩所有内容。