javascript - NodeJS应用的问题

标签 javascript angularjs node.js

我有关于 NodeJS 应用程序的非常基本的问题;

  1. 当有人说 NodeJS 应用程序时,它是指纯服务器端编写的 NodeJS 应用程序吗?我的意思是,现在,当项目(比如 Angular、Ember 等)使用 Node 安装依赖项时,那些客户端应用程序(在浏览器中运行)是否也可以称为 NodeJS 应用程序?或者这些只是 NPM 使用应用程序?

  2. Mocha、Jasmine 等单元测试框架可用于我上面描述的两种类型的应用程序吗?或者它仅适用于服务器端 NodeJS 应用程序?

最佳答案

does it refer to a pure server-side written NodeJS app?

是的。具体来说,它指的是具有 Nodejs 后端/服务器的应用程序。

can those client-side apps (which run in browser) be also called NodeJS app?

这要看情况。某些依赖于浏览器 API 的库(例如导航器、窗口等)将无法工作。这是因为这些浏览器对象不会存在于nodejs环境中。例如,jQuery 在 Node.js 中无法完全工作,因为与 DOM 操作相关的某些功能取决于浏览器 API。另一方面。 React可以在浏览器和nodejs中使用,因为它具有在浏览器和nodejs环境中兼容的API。

以前,如果我们想使用库(例如 jQuery),我们必须附加一个指向源的相应脚本标签。现在,您可以使用 npm 将库代码下载到 node_modules 文件夹中,并使用 require 或 ES6 import 从那里使用它。但是,您可能必须首先进行一些预处理,例如使用 Browserify 和 Gulp 捆绑代码。您可能想查看有关如何执行此操作的教程 here .

The unit-testing frameworks like Mocha, Jasmine, etc be used for both the types of apps I described above ? Or is it meant only for server-side NodeJS app ?

Mocha、jasmine、chai 不依赖于浏览器或 Nodejs 特定功能,因此它们都应该在两个平台上工作。至于其他的,你必须检查它们是否依赖于浏览器或nodejs的特定功能。如果这样做,该库可能可以在一个平台(例如浏览器)上运行,但不能在另一个平台上运行。

关于javascript - NodeJS应用的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44481441/

相关文章:

javascript - 类型错误 : Object #<MongoClient> has no method 'db'

javascript - 关于可点击的下拉菜单

javascript - karma 代码执行

javascript - 如何在主干中实现 Angular 样式指令?

javascript - Angular 表单验证但没有 <form>?

angularjs - 在 ubuntu 中使用 npm 安装 karma、jasmine 和 phantomjs 时出现问题

node.js - 使用 aws-sdk 将 gm 调整大小的图像上传到 s3

javascript - 使用 PHP 或 JS 将一个 div 插入另一个

javascript - 当设备音频正在播放时,视频不会播放,反之亦然

java - 验证 geoJson 服务器响应的最简单方法是什么?