草庐IT

Node

OO柒 2023-10-14 原文

1. 如何获取项目的根路径?

node当中有个全局变量__dirname ,可通过path引用获得项目根目录

当前文件为D:\test\abc\def\test.js

var path=require('path');

var defpath=path.join(__dirname,'../');

var abcpath=path.join(__dirname,'../../');

__dirname的路径就是当前文件的实际路径


2.什么是Node.js?

Node.js是基于V8引擎的JavaScript运行时环境。它使我们可以在浏览器外部(通常是在Web服务器中)运行JavaScript。


3.什么是npm?

npm代表Node.js软件包管理器。它包含一个命令行界面,我们可以使用该界面访问公共和私有软件包的在线注册表。

npm是 Node. js中管理和分发包的工具,可用于安装、卸载、发布、查看包等


4.“ npm install”有什么作用?

它安装在package.json文件中找到的依赖项。


5.解释 npm install name-of-the-library 和 npm install  --save-dev  name-of-the-library  的区别

npm install name-of-the-library将安装我们的库并将其作为dependency。如果我们添加--save-dev参数,它将作为包含在内devDependency。


6.nodejs引用第三方模块的时候,如果不放入node_modules文件夹中,则必须写相对路径,路径的写法是?

./ 


7.Nodeapi中,模块对象fs的什么方法用于读取文件?

fs.readFile


8.在nodejs中,用来引入其它模块的函数是?

  require


9.Node.js 是由哪几部分组成的?

Node.js是由ECMAScript及Node 环境提供的一些附加API组成的,包括文件读取、网络、路径等等一些更加强大的 API


10.第三方模块 Gulp 的功能和作用

gulp是基于node平台开发的前端构建工具

前端开发过程中对代码进行构建的工具,是自动化项目的构建利器;

它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;人工的工作交给计算机。

使用它,我们不仅可以很愉快的编写代码,而且大大提高我们的工作效率。

它能自动化地完成javascript/coffee/sass/less/html/image/css 等文件的的测试、检查、合并、压缩、格式化、浏览器自动刷新、部署文件生成,并监听文件在改动后重复指定的这些步骤。


11.简述 package.json文件的作用 及生成 方法

项目描述文件,记录了当前项目信息,例如项目名称、版本、作者、github地址、当前项目依赖了哪些第三方模块等。

使用npm init -y命令生成


12.NodeJS中有哪些类型模块,文件操作用哪一个模块?

答:模块类型: 核心模块、自定义模块、第三方模块。

文件操作:fs模块


13.是否可以在Node中访问DOM?

否, 无法在Node中访问DOM。


14.简述在 Node.js中模块化开发中,一个模块如何使用另一模块中的成员

使用exports对象进行成员导出, 使用require方法导入


15.简述什么是相对路径和绝对路径 

1.绝对路径

绝对路径是指文件在硬盘上真正存在的路径,从硬盘的根目录(盘符)开始。

使用绝对路径的缺点:

事实上,在网页编程时,很少会使用绝对路径,如果使用“E:\book\网页布\代码\第2章\bg.jpg”来指定背景图片的位置,

在自己的计算机上 浏览可能会一切正常,但是上传到Web服务器上浏览就很有可能不会显示图片了。

因为上传到Web服务器上时,可能整个网站并没有放在Web服务器的E盘,

有可能是D盘或H盘。即使放在Web服务器的E盘里,

Web服务器的E盘里也不一定会存在“E:\book\网页布局\代码\第2章”这个目录,因此在浏 览网页时是不会显示图片的。

2.所谓相对路径

就是相对于自己的目标文件位置,是从当前路径开始的路径.

有关Node的更多相关文章

  1. node.js - 如何在 Travis CI 上的一个项目中运行 Node.js 和 Ruby 测试 - 2

    我有一个包含多个组件的存储库,其中大部分是用JavaScript(Node.js)编写的,一个是用Ruby(RubyonRails)编写的。我想要一个.travis.yml文件来触发一个运行每个组件的所有测试的构建。根据thisTravisCIGoogleGroupthread,目前还没有官方支持。我的目录结构是这样的:.├──构建服务器├──核心├──扩展├──网络应用├──流浪文件├──package.json├──.travis.yml└──生成文件我希望能够运行特定版本的Ruby(2.2.2)和Node.js(0.12.2)。我已经有了一个make目标,所以maketest在每

  2. node.js - 从未编写过任何自动化测试,我应该如何开始行为驱动开发? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。多年来,我一直在使用多种语言进行编程,并且认为自己总体上相当擅长。但是,我从未编写过任何自动化测试:没有单元测试,没有TDD,没有BDD,什么都没有。我已经尝试开始为我的项目编写适当的测试套件。我可以看到在进行任何更改后能够自动测试项目中所有代码的理论值(value)。我可以看到像RSpec和Mocha这样的测试框架应该如何使设置和运行所述测试变得相当容易

  3. node.js - 如何比较图像并确定哪个内容更多? - 2

    目标:我想从动画GIF中抓取最佳帧并将其用作静态预览图像。我相信最好的帧是显示最多内容的帧-不一定是第一帧或最后一帧。以这张动图为例:--这是第一帧:--这是第28帧:很明显,第28帧很好地代表了整个GIF。我如何以编程方式确定一帧是否比另一帧具有更多像素/内容?如果您能向我指出任何想法、想法、包/模块或文章,我们将不胜感激。 最佳答案 实现此目的的一种直接方法是估计entropy每个图像的帧,并选择具有最大熵的帧。在信息论中,熵可以被认为是图像的“随机性”。单一颜色的图像是非常可预测的,分布越平坦,越随机。这与Arthur-R描述

  4. ruby - 通过 node-sass 的 Symfony assetic sass 过滤器? - 2

    我在让asseticsass过滤器与node-sass而不是ruby​​替代品一起工作时遇到了一些困难。我的config.yml文件中有以下配置:assetic:debug:"%kernel.debug%"use_controller:falsebundles:[]write-to:"%kernel.root_dir%/../web/assets"read_from:"%kernel.root_dir%/../web/assets"node:"%%PROGRAMFILES%%\nodejs\\node.exe"node_paths:["%%USERPROFILE%%\\AppData\

  5. ruby-on-rails - Node/NPM 依赖于 Ruby on Rails 引擎 gem Assets 管道 - 2

    我正在构建一个打包在gem中的RubyonRails引擎,但无法弄清楚如何确保加载NPM依赖项。在常规Rails应用程序中,您可以安装NPM,然后使用npminstall命令将包放入node_modules基本目录中。然后在您的application.rb中使用以下行将node_modules添加到Assets管道:config.assets.paths但是,就我而言,我正在构建一个Rails引擎以作为gem加载。.gemspec文件允许您的gem将其他Ruby依赖项加载到主机应用程序中,但我不知道如何对Node依赖项执行相同的操作。在我的引擎中注意它需要某些NPM模块才能工作以便它们

  6. ruby - 如何在 Node.js/RoR 中监控 20 个网站(Ping 或 HTTP)的正常运行时间 - 2

    每5分钟(例如)ping20个网站的列表以了解该网站是否响应HTTP202的最佳方法是什么?最简单的想法是将20个URLS保存在数据库中,然后运行数据库并对每个URL执行ping操作。但是,当一个人不回答时会发生什么?之后的人会怎样?此外,是否有更好但更简单的解决方案?恐怕该列表会增长到20000个网站,然后没有足够的时间在我需要ping的5分钟内全部ping通它们。基本上,我是在描述PingDom、UptimeRobot等的工作原理。我正在使用node.js和RubyonRails构建这个系统。我也倾向于使用MongoDB来保存所有ping和监控结果的历史记录。建议?非常感谢!

  7. nvm报错Now using node v版本号 (64-bit)解决方法 - 2

    nvm报错Nowusingnodev版本号(64-bit)解决方法先上报错(安装后的一些问题请直接跳到尾部查看)安装NVM的原因是使用React时addreact-redux时提示我node版本问题,遂打算安装一Node版本管理工具因为我电脑上很早就安装了Node,安装NVM时提示我是否覆盖并管理本地已有版本,我选了Yes之后安装成功(后来检查发现和版本没关系,是因为我在node里去ADD真离谱自己这操作)安装NVM注意问题1.若修改安装路径一定补上nodejs2.打开安装文件位置3.增加以下映射node_mirror:npm.taobao.org/mirrors/node/npm_mirro

  8. 【笔记】internal/modules/cjs/loader.js:985 throw err; ^ Error: Cannot find module ‘node:util‘ - 2

    [root@localhostusr]#cnpm-vinternal/modules/cjs/loader.js:985throwerr;^Error:Cannotfindmodule‘node:util’Requirestack:/usr/local/node/lib/node_modules/cnpm/bin/cnpmatFunction.Module._resolveFilename(internal/modules/cjs/loader.js:982:15)atFunction.Module._load(internal/modules/cjs/loader.js:864:27)atM

  9. ruby - 为什么 "compass watch"说它无法加载 sass/script/node (LoadError)? - 2

    我的compasswatch命令有问题-直到几天前它都运行良好。我没有对我的配置文件进行任何更改。我重新安装了Compass,使用rvm更新了Ruby。我检查了我的custom_require.rb文件,但我真的不知道要查找什么。它似乎正在尝试从某处加载文件“sass/script/node”http://sass-lang.com/docs/yardoc/Sass/Script/Node.html我收集了文件路径-但我什么都没有。/Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygem

  10. javascript - 我正在尝试在 Node.js 上使用 Twit 回复推文 - 2

    不确定如何输入in_reply_to_status_id。它的推文很好,只是没有回复其中提到的推文。in_reply_to_status_id是Twit访问的TwitterAPI的一部分,但我可以在此上下文中使用它吗?如有任何帮助,我们将不胜感激。代码如下:varstream=T.stream('statuses/filter',{track:'@example'});io.on('connection',function(socket){socket.on('chatmessage',function(msg){console.log('message:'+msg);P.post('

随机推荐