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

时间:2018-10-19 12:16:50

标签: javascript jquery node.js npm

我在查找有关NodeJS的特定信息时遇到了一些麻烦,我在Google上进行了搜索,但实际上找不到任何答案。希望你能解决我的一些问题。

因此,我在Ubuntu中遵循this guide安装了NodeJS。然后,我通过遵循this guide使用npm来安装Sass。我能够使Sass正常工作。

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

node myjsfile.js

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

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

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

的错误
Uncaught ReferenceError: require is not defined

但是,如果我运行

node myjsfile.js

按照this guide设置文件后,我对JS或HTML所做的任何更改实际上都不会出现在我的页面上,这意味着我必须不断地重新运行node命令才能看到任何更新。

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

3 个答案:

答案 0 :(得分:0)

Require不是JavaScript的一部分。 What is this Javascript "require"?

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

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

答案 1 :(得分:0)

节点用于服务器端代码(创建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代码。

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

答案 2 :(得分:0)

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

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