我刚刚为我的团队完成了一个完整的出勤跟踪应用程序。我是一名中级程序员,并以此经验学习 webdev。该应用程序是同构的,以 HTML/CSS/Javascript 为前端,并以 Node 为后盾;表达; 节点模块等所有和 MongoDB。
该应用程序已在 localhost 上进行了测试,并且运行良好。
现在,这个应用程序将需要安装或“安置”在服务器上,该服务器还托管团队的其他几个内部应用程序。我安装了 npm-pack-all 模块;使用此模块输出.tgz(包含所有源文件)。
我对.tgz进行了 npm 安装,然后再次在我的本地主机上运行该应用程序,它运行良好。我这样做的假设是我将.tgz分发给内部团队服务器的管理员,这将使他能够简单地执行.tgz的npm i install然后运行应用程序。但我不确定.tgz是否也捆绑了节点;否则npm 我安装 .tgz除非内部团队服务器上已经安装了节点,否则在内部团队服务器上将无法工作。也缺少 mongodb 数据库,因为该数据库有一些预先配置的集合和数据。这意味着 mongodb 必须安装在内部团队服务器上,我必须再次创建所有这些集合,并再次创建所有初始数据。
从上述方法继续,我还想探索其他选择。我正在经历一些线程,并注意到提到.exe和.msi;但我不知道从哪里开始。
我的问题陈述是这样的:
- 我只需要将完成的应用程序(带有数据库的源文件)分发给内部团队服务器管理员。
- 如果管理员或任何人看不到源文件或源文件的内容,这将有所帮助;或者如果那不可能;至少需要保护源文件不被修改。
- 如果还安装了具有相同“生产就绪”配置的 mongodb 数据库和/或节点 js 运行时(如果尚未安装在该服务器上),这将有所帮助。换句话说,对于 mongodb,它将安装所有集合和在开发期间创建的默认数据。
请帮忙!