我有一些概念性的问题,作为AngularJS的新手。我一直致力于一个将Mongodb与Express和Node.js连接起来的项目。
如果我将继续制作将Mongodb与Express和Node.js相结合的项目,以及使用AngularJS构建网站的其他项目,我应该在哪里存储我的express,node.js,等?
是否会出现这样的项目的不同依赖关系,因为每个项目都需要许多不同的JavaScript库? (如果是这样的话,我认为每次制作新项目时安装javascript库都是值得的。)
答案 0 :(得分:2)
基本上,您正在创建一个MEAN项目。
M - Mongo 电子快递 A - 角度 N - 节点
因此,首先,我建议您创建一个节点项目结构,您可以在package.json
中保存npm依赖项。
在节点应用中创建一个index.js
文件,该文件将包含一些express
路由,您可以在此处连接到mongo
数据库。
此快速路线的代码将是这样的。
app.use(express.static('./public'));
app.get('/', function(req, res) {
res.sendfile('./index.html');
});
现在,此路由将打开public / index.html文件。因此,您可以在公共文件夹中使用角度应用程序。
为了保存客户端库依赖关系,我建议你使用bower。 Bower就像浏览器/客户端的NPM一样。
以下是一些可能对您有帮助的链接:
答案 1 :(得分:1)
每次创建新项目时,我都应该安装express,node等吗?
是的,为每个项目单独安装Express和其他NPM组件。这样,您可以使每个项目独立于其他项目,并且可以将组件升级到一个而不会影响所有其他项目。然后每个项目都有自己的package.json,它唯一地描述了它所依赖的模块的版本。磁盘空间非常便宜。重新测试所有项目是因为您想要在一个项目中升级一个组件。
您可能希望也可能不希望为每个项目单独安装node.js.如果你遵循上面的逻辑,那么你也会出于同样的原因分别安装node.js,你必须确保为每个项目运行正确版本的nodejs。但是,有些人更愿意在他们的系统上安装一个版本的node.js,并在将node.js升级到新版本时将其作为系统范围的决定(这将涉及使用新版本的节点重新测试所有项目) .js文件)。这里的逻辑是你可能会更改node.js的版本,而不是你可能会更改一些NPM模块。
如果我将继续制作将Mongodb与Express和Node.js相结合的项目,以及使用AngularJS构建网站的其他项目,我应该在哪里存储我的express,node.js等安装? / p>
如果要为每个项目保持一致,那么您将在项目目录中安装每个依赖模块(可能除了node.js)。您也可以通过这种方式管理node.js,也可以在一个中心位置安装每个要使用的少量node.js版本,然后为每个项目指定它使用的node.js版本。 / p>
是否会出现这样的项目的不同依赖关系,因为每个项目都需要许多不同的JavaScript库? (如果是这样,我认为每次创建新项目时都需要安装javascript库。)
是。项目通常会随着时间的推移而发展,您将在一个项目中使用不同的NPM模块。较新的项目通常会引入最新的NPM模块版本,但您不必升级所有先前的项目并重新测试它们(如果它们工作正常,不需要弄乱它们),但您可能需要适用于当前项目的最新版本。