服务端和客户端的 Package.json
Posted
技术标签:
【中文标题】服务端和客户端的 Package.json【英文标题】:Package.json for server and client 【发布时间】:2018-02-05 08:22:28 【问题描述】:我想从我的服务器端 package.json 为客户端安装 package.json,因为服务器端使用节点,客户端使用 angular 2 目录结构
server-app
--bin
--node_modules
--package.json
--client-app
--app
--node_modules
--package.json
现在的问题是:
我必须从 server app 文件夹 和 server-app/client-app 文件夹分别运行这个命令 npm install 这将创建部署问题
我想要的是从即 server-app 只运行一次 npm install,它会自动安装 server-app package.json 和 client-side-应用程序 package.json 也是。 任何帮助将不胜感激
【问题讨论】:
你读过这个吗? docs.npmjs.com/files/package.json#local-paths 【参考方案1】:按以下方式构建您的应用程序,
app
--server-app
--client-app
--node_modules
--package.json
这样你就可以拥有单个 package.json 文件
【讨论】:
我知道,但是 angular2 在执行此操作时会产生问题,无法返回 你有没有使用任何生成器尝试过这个结构,比如MEAN Generator 是的,它的角度为 1 你能把那个生成器的github链接发一下吗 检查这个App structure 我之前提到的生成器。您可以看到它的根目录中有一个 package.json 文件。这是 MEAN Stack 的推荐结构。尝试使用此生成器。顺便验证一下答案,这样对遇到此类问题的其他人会有所帮助。干杯!!【参考方案2】:我认为您需要的是一个名为 concurrently 的 npm 模块。
并发安装在您的根文件夹中,您可以运行多个自定义 npm 脚本。 例如:您可以创建 2 个单独的脚本来安装依赖项(client-install 和 server-install),然后创建 install-all-deps 脚本,该脚本将依次运行这两个脚本并在两个目录中安装所有 deps。
"scripts":
"client-install" : "cd client && npm install",
"server-install" : "cd server && npm install",
"install-all-deps": "concurrently \"npm run server-install\" \"npm run client-install\""
这里是 npm 模块https://www.npmjs.com/package/concurrently。引用文档:
同时运行多个命令。像 npm run watch-js & npm run 少看但更好。
希望这会有所帮助。
【讨论】:
以上脚本需要包含在服务端或客户端的package.json中? 在根目录下无所谓。以上是关于服务端和客户端的 Package.json的主要内容,如果未能解决你的问题,请参考以下文章