命令行和Node.js简单学习

本博客著作权归从这到那所有,转载请注明出处

命令行和Node.js简单学习

bash脚本

先看一个bash 脚本

if [ ! -f "$1" ];then
    echo "$1 not exist"
    exit 1
else
    cat $1
    exit 0
fi

保存为 my-show.sh
这个脚本的作用是将要查找的文件打印到屏幕上,加了是否存在的判断。
第一个知识点:参数 。$1 这个就是参数。获取脚本后带的第一个参数,/path/to/my-show.sh test 其中test 就是第一个参数。
第二个知识点:判断。 if...else 这是bash语法里的判断语句。
第三个知识点:异常处理。通过判断语句来判断文件是否存在。
第四个知识点:返回值。在上面的脚本中,如果正常我们退出为0 exit 0 ,在bash里表示正常。当异常时我们退出为1exit 1

API

应用程序接口(Application Programming Interface),又称应用编程接口,就是软件系统不同组成部分衔接的约定。


什么是Node.js

学习Node.js建议在Linux或mac环境下,windows会有很多未知的坑。
Node.js不是JS应用、而是JS运行平台

浏览器也是一个平台


NPM

说道Node.js我们就需要了解NPM,NPM其实就是一个共享代码的平台,将代码整合到一个平台上方便开发者使用。 NPM是干什么的

npm install jQuery
就相当于

wget https://github.com/jquery/jquery/archive/3.1.1.zip
unzip 3.1.1.zip

简单配置NPM

1.npm config set loglevel http 显示npm发的每一个请求。
2.npm config set progess false 关闭进度条,据说能够加快下载速度。
3.配置国内源加快下载速度 npm config set registry https://registry.npm.taobao.org 恢复 npm config delete registry

Node.js写个简单命令行程序

刚开始看不懂代码没有关系,我们能够在网上搜索到并解决问题就可以。
比如我们要写一个显示当前目录下所有文件的脚本文件。通过搜索“Node.js显示当前目录下文件”我们得到了如下结果

#!/usr/bin/env node
var fs = require("fs");
console.log("查看当前目录");
fs.readdir(process.cwd(),function(error, files){
   if (error) {
       return console.error(error);
   }
   files.forEach( function (file){
       console.log( file );
   });
});

保存为my-show.js 执行node my-show.js 就可以看到效果了。

发布代码到NPM

如果我们要发布程序到NPM供其他人下载的话,我们就可以在程序所在的目录下NPM init 按照提示来输入,会在当前目录生成含如下内容的package.json

{
  "name": "test",
  "version": "1.0.0",
  "description": "just test,dont download",
  "main": "my-show.js",
  "dependencies": {
    "jquery": "^3.1.1"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "bin":{
    "my-view":"my-view.js"
  },
  "author": "test",
  "license": "ISC"
}

再执行npm addusr npm publish

如何学习编程

1.编程其实是个很复杂的东西。
2.但是我们可以在不知道实现原理的情况下,通过搜索或者询问其他会的人来学会如何先实现一些效果。
3.我们在使用的过程中就会逐渐明白运作的原理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JavaScript 模块化编程 网站越来越复杂,js代码、js文件也越来越多,会遇到什么问题? 命名冲突; 文件...
    magic_pill阅读 5,353评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,838评论 19 139
  • 描述 npm从以下来源获取配置值,按优先级排序: 命令行标记 在命令行上放置--foo bar设置foo配置参数为...
    竹天亮阅读 44,400评论 0 8
  • 昨日,来自全球各大企业厂商携带最新高智能产品齐聚香港,全球规模盛大的电子产品科技交流展会就此拉开序幕。来自全球35...
    后智阅读 1,639评论 0 0
  • 如果青春只是一幅美丽画面,我们曾走过的永远,是不是都不算永远,还记得街角你等我的景象,阳光照耀你身上,显得多么美好...
    小伍只等Karroy阅读 1,193评论 0 0

友情链接更多精彩内容