nodejs — 基础1

1.安装

去官网下载
注意:npm版本过低,更新node 就自动更新了 --save会放在package的包里

2 配置环境变量

1.touch ~/.bash_profile
2.vim ~/.bash_profile
3.export PATH=$PATH:/usr/local/bin
4.退出vim的命令: :x
5.重启电脑或者source ~/.bash_profile

3.使用node来实现第一个http服务器


//引入HTTP模块,http是node的内置模块
var http = require("http");
//调用http的接口,创建服务器;回调--->异步
//参数:req:request(浏览器提交给服务器相关数据) res:response(服务器到浏览器)
var server = http.createServer(function (req,res) {
   res.write("<h1>hello world</h1>");
    // 修改改码后需要服务器重启
    // end这句话不加,服务器会一直访问
    res.end();
});
server.listen(8788);

运行结果:


image.png

4.设置编码格式

    res.write("<head><meta charset='utf-8'></head>");
    // text/html 可以解析标签
    // text/plan 字体正常,不能解析标签
    res.setHeader("Content-type","text/html;charset=utf8");
    // 200,400设置的状态码
    res.writeHeader(200,{"Content-type":"text/html;charset=utf8"});

5.结束服务器进程

在命令终端输入:

-i tcp:8787 查看端口进程 查看到对应的
kill PID

6.模块化开发

引入url模块解析路径

var http = require(“http”);//引入一个http的模块?var url = require(“url”);//引入路径模块var server = http.createServer(function (req,res) {    //parse(路径,第二个参数为将请求参数解析为对象)    var urlObj = url.parse(req.url,true);    console.log(urlObj);    res.end();});server.listen(8080);

创建自己的模块

1.加载当前目录的模块

(1)不加var 的变量是全局变量,在模块内部最好加var
(2)要导出一个属性或者方法使用:module.exports
(2.1) 如果是模块下的方法和属性使用:module.exports={xx:xx}
(2.2) 如果是想让模块直接接受方法就导出函数

  1. 创建base.js,定义一个变量和方法,通过module.exports导出
image.png

2.创建mytestjs.js,定义一个方法和变量,并且拿到base里面的变量和方法,通过require获得

image.png
  1. 创建mytestjs.js,请求到文件后,打印变量和调用方法
image.png

nodejs内置模块:

Buffer,C/C++Addons,Child Processes,Cluster,Console,Cr
ypto,Debugger,DNS,Domain,Errors,Events,File System,
Globals,HTTP,HTTPS,Modules,Net,OS,Path,Process,P unycode,Query Strings,Readline,REPL,Stream,String De coder,Timers,TLS/SSL,TTY,UDP/Datagram,URL, Utilities,V8,VM,ZLIB;内置模块不需要安装,外置模块需要安装;

7.webpack

是近的一加载器兼打包工具,它能把各种资源,例如J (含J X)、 coffee、样式(含less/sass)、图片等都作为模块来使用和处理。

1. 全局安装webpack:npm install webpack -g

2. 编写webpack.config.js配置文件

//CommonJS  导出模块 
module.exports = {
    entry: __dirname + 'app/main.js', //入口文件 output: { //输出目录
    path: __dirname + 'build', // 输出路径
    filename: 'bundle.js', // 输出文件名 },
    watch:true
};

例如


image.png

3.写我们的helloworld组件:module.exports=function(){}

image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 无意中看到zhangwnag大佬分享的webpack教程感觉受益匪浅,特此分享以备自己日后查看,也希望更多的人看到...
    小小字符阅读 8,226评论 7 35
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 webpack介绍和使用 一、webpack介绍 1、由来 ...
    it筱竹阅读 11,231评论 0 21
  • GitChat技术杂谈 前言 本文较长,为了节省你的阅读时间,在文前列写作思路如下: 什么是 webpack,它要...
    萧玄辞阅读 12,710评论 7 110
  • 当营地内存在其它单位时,中立生物不会产生(俗称封野)。无论其它单位处于何种状态下(无敌、隐藏、隐形、技能免疫等),...
    田园海味阅读 271评论 0 0
  • 生活也许就是这样,孤独、枯燥、讨厌自己、困但是不想去睡觉!我怕,一闭眼一天就过去,我怕未来,也许因为太过黑暗,我想...
    我与女友的记录本阅读 182评论 0 0