繁体   English   中英

有关Node.js以及使用npm下载的问题

[英]Questions about Node.js and downloading with npm

我在Google上找到有关NodeJS的特定信息时遇到了一些麻烦,但是我找不到真正的答案。 希望您能解决我的一些问题。

因此,我按照Ubuntu中的本指南安装了NodeJS。 然后,我按照本指南使用npm安装Sass。 我能够使Sass正常工作。

但是,这就是混乱的开始。 我不完全确定如何实际使用Node。 我是否应该始终使用此方法来启动服务器?

node myjsfile.js

如果不这样做,则在HTML文件中添加一个脚本标签,如下所示

<script src="js/myjsfile.js"></script>

然后,当我加载页面时,控制台将输出类似

Uncaught ReferenceError: require is not defined

但是,如果我跑步

node myjsfile.js

按照本指南设置文件后,对JS或HTML所做的任何更改实际上都不会显示在我的页面上,这意味着我必须不断地重新运行node命令以查看任何更新。

我确定我在这里遗漏了一些东西,但我不知道是什么。 我真的很感谢您的帮助。

Require不是JavaScript的一部分。 这个Javascript“要求”是什么?

您必须使用grunt,webpack等工具转换文件。

Node的解释能力超过浏览器。 这就是节点不引发错误的原因。 也用于服务器端。 如果要在浏览器中执行脚本,则不需要节点。

节点用于服务器端代码(创建http服务器,执行一些脚本,创建RestAPI)。

假设您已经创建了mynodejsfile.js。 当您想要安装将在此文件中使用的节点程序包时。 您到达mynodejsfile.js文件夹,并:

npm install mypackage

这会将依赖项“ mypackage”安装在“ mynodejsfile.js”旁边的node_modules文件夹中。

然后,您将能够

require('mypackage')

在“ mynodejsfile.js”中。

如果要创建HTML内容,则节点将直接在浏览器中使用节点文件,该节点文件将与nodejs解释器一起使用。

当您将HTML文件与脚本一起使用时,会使用客户端代码,您的浏览器将无法理解该代码。 在编写客户端代码(用于浏览器)时,您将使用浏览器ECMA 5/6代码,而不是nodejs代码。

您可以转换您的节点文件以使其在浏览器中可用,但是它是高级/受限使用,因此您应该先了解客户端/服务器代码之间的区别。

在我看来,您正在混淆客户端javascript功能的行为(例如将脚本文件包含到网页中)并构建NodeJS服务器。 正如Matthi所指出的,Node可以比浏览器更多地解释方式。

关于不断刷新服务器实例的必要性,我很难向您推荐nodemon 默认情况下,nodemon在每次代码更改后都会重新启动服务器,从而消除了在开发阶段手动重新启动服务器的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM