我想在我的网站上使用angular.js
作为我的图像编辑工具。我还需要node.js
吗?
我不明白这个场景。如果我不需要它,那么我们何时同时使用nodejs和angularjs?
答案 0 :(得分:69)
对于Angular 2开发的新手,我可以感受到必须学习服务器端技术的痛苦,因为它本质上是一种客户端技术。据我所知:
node.js
仅用于管理角度2应用程序的依赖关系。如果您能够以某种方式设法在不使用node.js
,npm
或jspm
的情况下获取这些依赖项,那么您可以脱机运行和开发应用程序。但是,手动执行此操作将花费不可避免的时间,因为您必须手动下载文件,这可能具有其他依赖性,这将需要再次下载其他文件(是的,我已经在那里)。 node.js
或npm
或jspm
就此而言自动化了此过程,并采取了配置文件(jspm
)的所有必要步骤,以便每当您使用特定的依赖项时在您的应用程序中,您的系统中也会出现该特定依赖关系的其他依赖关系。 node.js
功能也需要hot-module-reload
,因为它提供file watcher api
来检测源代码的更改。 file-access-restriction
问题,您可以将项目作为扩展加载。扩展程序能够使用所有可用的HTML 5技术以及一些强大的API(甚至不适用于服务器上提供的应用程序),同时在您的开发环境中是本地的。因此,如果您将应用程序作为扩展提供服务,则无需触发Web服务器即可访问HTML 5技术。hot-module-reload
功能,您可以从其他方式接近它。您可以从应用程序本身执行此操作,而无需在Web服务器中使用文件观察程序来监视本地系统中文件的更改。由于应用程序可以使用fetch
或xmlhttprequest
资源,因此您可以定期fetch
或xmlhttprequest
应用程序所需的资源,并将其与某些缓存进行比较。但是你怎么知道要检查哪些文件?您可以在links
的{{1}}页面中查找script
如果您使用SystemJS作为模块加载器,那么您可以使用其注册表来查找应用程序所需的文件但是没有加载到页面中,因为它已被转换或其他东西。虽然执行所有这些操作可能会导致系统性能下降以及转换或预处理非本机代码所增加的开销,但此作业可以外包到img.
,这将释放系统中的主执行线程你的申请代码。web worker
功能。 hot-module-reload
功能由单个javascript文件启用,因此如果不需要此功能或占用太多资源,则可以删除有问题的代码行。hot-module-reload
功能目前是实现文件监视器的一种hackish方式,它使用项目的常用约定(temp1.ts,temp1.css,temp1.htm),因为没有办法(我可能错了) (请参阅此信息)获取应用程序所需的所有资源的确切列表,但未在主页面上加载(已转换或预处理的资源)。答案 1 :(得分:57)
您不需要NodeJS来创建客户端图像编辑工具。
AngularJS是一个由Google和社区维护的Web应用程序框架,可以帮助创建单页面应用程序,其中包含一个客户端带有CSS和JavaScript的HTML页面。
但是如果有一天你想要在服务器上上传和存储这些图像并让它们可以被多个客户端访问 - 那么是的,你还需要一台服务器。该服务器可以使用NodeJS制作。
答案 2 :(得分:9)
node.js用于在服务器端编写Javascript。 angular.js是一个客户端框架。
您不需要node.js来使用angular.js但是,您可以安装npm(节点包管理器)来使用一些非常棒的工具,这些工具将使您作为角度开发人员的生活变得更加容易。 例如:yoeman这是一个很棒的脚手架工具。 npm上还有许多其他工具可用link to their site 在官方角度网站或角度youtube channel
了解有关角度的更多信息答案 3 :(得分:8)
没有。 Angular
用于客户端,Node
用于服务器端。
他们用MEAN Stack作为一起,但没有必要。
答案 4 :(得分:3)
AngularJS无需Node.JS即可运行。 NodeJS是服务器端,AngularJS是客户端。
如果您不熟悉AngularJS,我建议您使用本教程AngularJS tutorial。 在本教程中,您将使用NodeJS,您将理解为什么两者一起工作,但不是必需的。
答案 5 :(得分:3)
如果不知道影像编辑工具的工作原理,很难回答。但是要回答你的问题,你不需要Node.js来使用AngularJS。
Angular是一个前端javascript框架,可在客户端Web浏览器中运行。
Node是一种可以执行javascript的服务,通常在服务器上使用,可能代替PHP(like in MEAN stack)。 此外,因为Node是一个可以执行javascript的服务,所以当开发Angular应用程序来执行后台任务(如缩小css和javascript以及执行测试)时,它可以在本地计算机中使用。
因此,如果您的图像编辑工具是使用javascript开发的,并且您的应用程序使用Angular和Node(作为Web服务器),则代码可以在客户端或服务器端执行。
在MEAN堆栈上读取以查看Node和Angular适合的位置。您根本不需要Node,但很高兴使用相同的语言进行开发。
答案 6 :(得分:0)
安装NodeJ的原因 由于Chrome,Firefox等网络浏览器仅了解JavaScript,因此我们必须将Typescript转换为JavaScript。因此,Typescript编译器需要Node.js才能将Typescript代码生成为JavaScript。
答案 7 :(得分:-1)