Nodejs in Visual Studio Code 06.新建Module

1.开始

Node.js:https://nodejs.org

2.Moudle

js编程中,由于大家可以直接在全局作用域中编写代码,使开发人员可以很容易的新建一个全局变量或这全局模块,这些全局变量或全局模块在工程化的开发中,极易互相冲突,同时也很难搞清楚它们之间互相的依赖关系。Node.js采用CommonJS规范来定义模块与使用模块,提供了required和module.exports来解决这个问题。

required()方法,通过required方法将其他模块引用到当前作用域内。

module.exports方法,从当前作用域中导出对象Object或类定义Function。

定义一个Module,仅包含静态方法

circle.js:提供了两个方法

area() 求面积,circumference()求周长

const PI = Math.PI;

exports.area = (r) => PI * r * r;

exports.circumference = (r) => 2 * PI * r;

调用这个Module app.js:

const circle = require(‘./circle.js‘);
console.log( `The area of a circle of radius 4 is ${circle.area(4)}`);

上面的示例代码定义一个Module=.Net中包含静态方法的静态类。

定义一个Module,表示普通类

user.js:定义一个User类

‘use strict‘;

const util = require(‘util‘);

function User(sId, sName) {
  this.Id = sId;
  this.Name = sName;
  nCount++;
}

User.prototype.toString = function () {
  return util.format("Id=‘%s‘ , Name=‘%s‘", this.Id, this.Name);
}

module.exports = User;

app.js:

var User = require(‘./user‘);

var pSource = [];
pSource.push(new User(‘liubei‘,‘刘备‘));
pSource.push(new User(‘guanyu‘,‘关羽‘));
pSource.push(new User(‘zhangfei‘,‘张飞‘));

for (var index = 0; index < pSource.length; index++) {
  var element = pSource[index];
  console.log( `${element.toString()}`);
}

console

Id=‘liubei‘ , Name=‘刘备‘
Id=‘guanyu‘ , Name=‘关羽‘
Id=‘zhangfei‘ , Name=‘张飞‘

定义一个Module表示全局变量

user.js:使用Count()方法来统计实例化总数

‘use strict‘;

const util = require(‘util‘);

var nCount = 0;

function User(sId, sName) {
  this.Id = sId;
  this.Name = sName;
  nCount++;
}

User.prototype.toString = function () {
  return util.format("Id=‘%s‘ , Name=‘%s‘", this.Id, this.Name);
}

module.exports = User;

module.exports.Count = function () {
  return nCount;
}

app.js

var User = require(‘./user‘);

var pSource = [];
pSource.push(new User(‘liubei‘,‘刘备‘));
pSource.push(new User(‘guanyu‘,‘关羽‘));
pSource.push(new User(‘zhangfei‘,‘张飞‘));

pSource.forEach(function(pUser) {
  console.log( `${pUser.toString()}`);
}, this);
console.log( `count is ${User.Count()}`);

console

Id=‘liubei‘ , Name=‘刘备‘
Id=‘guanyu‘ , Name=‘关羽‘
Id=‘zhangfei‘ , Name=‘张飞‘
count is 3

  

时间: 2024-10-13 16:02:47

Nodejs in Visual Studio Code 06.新建Module的相关文章

Nodejs in Visual Studio Code 10.IISNode

1.开始 Nodejs in Visual Studio Code 08.IIS : http://www.cnblogs.com/mengkzhaoyun/p/5410185.html 参考此篇内容,部署一个iisnode示例 2.将Node.js Express框架示例程序部署在IISNode中  创建一个Express示例程序 $ cd D:\Libraries\Documents\Visual Studio Code $ express myapp create : myapp crea

Nodejs in Visual Studio Code 04.Swig模版

1.开始 设置Node_Global:npm config set prefix "C:\Program Files\nodejs" Express组件:npm install express -g(全局安装) Express-Generator:npm install express-generator -g(全局安装) 如果没有设置global可能导致express命令在cmd里面无法执行 我接触过3个模版jade,ejs,swig,最后选择了swig jade :是express

Nodejs in Visual Studio Code 01.简单介绍Nodejs

1.开始 作者自己:开发人员,Asp.Net , html / js , restful , memcached , oracle ,windows , iis 目标读者:供自己以后回顾 2.我看Nodejs 一个运行时语言,可以使用javascript编写网站程序: 可以运行在windows和linux上,并且不需要iis或tomcat就能够独立运行: 写一些基于业务的API很方便,适合做项目: 据说可以处理高并发等等各种高能,但是我现在并不会: 3.安装Nodejs Nodejs : htt

Nodejs in Visual Studio Code 07.学习Oracle

1.开始 Node.js:https://nodejs.org OracleDB: https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#instwin  https://github.com/oracle/node-oracledb/blob/master/doc/api.md#resultsethandling 2.OracleDB安装 Python 2.7 下载安装即可,略 C Compiler with suppor

Nodejs in Visual Studio Code 08.企业网与CNPM

1.开始 CNPM : https://npm.taobao.org/ 2.企业网HTTP代理上网 平时办公在一个大企业网(10.*.*.*)中,使用HTTP代理上网,发现npm命令无法执行. 解决方案如下: 1.安装并设置好Proxifier,https://www.proxifier.com Proxifier有效解决了node.exe不会找浏览器中设置的代理作为默认代理来执行的尴尬悲剧. 2.安装Shadowsocks,买个VPS,装个服务端,碰到NPM抽风的时候使用--proxy htt

Nodejs in Visual Studio Code 03.学习Express

1.开始 下载源码:https://github.com/sayar/NodeMVA Express组件:npm install express -g(全局安装) 2.ExpressRest 打开目录08_ExpressREST app.js var express = require('express'); var app = express(); //捕获GET方法,并处理返回一个Json,比C#写Json简单多了啊 app.get('/', function (req, res) { re

Nodejs in Visual Studio Code 13.构建单页应用Scrat示例挖一挖

1.开始 Scrat作者说要搞个很碉堡的示例,果然就搞出来了,如果要学习并使用Scrat,可以从官方示例开始,简直太方便了. 2.Scrat示例 目录 component_modules : 公共组件 components : 系统级组件 server : 一些服务,不用管 views : Scrat.js,Index.html等Scrat框架内容 component.json : Scrat生态组件配置文件  fis-conf.js : FIS配置文件 package.json : Node配

Nodejs in Visual Studio Code 11.前端工程优化

1.开始 随着互联网技术的发展,企业应用里到处都是B/S设计,我有幸经历了很多项目有Asp.Net的,有Html/js的,有Silverlight的,有Flex的.很遗憾这些项目很少关注前端优化的问题,而将所有的100%的对性能关注集中于业务设计.第三方平台.数据库等方面,然而我想说只要拿出1%的精力,做一些前端优化的工作,也可以极大提升系统访问效率. 我见过一些项目加载html,js,css,xap等静态资源用了1~2秒,核心服务2~3秒,最后呕心沥血半个月仅能将核心服务优化0.5S,互联网早

Visual Studio Code和Docker开发asp.net core和mysql应用

Visual Studio Code和Docker开发asp.net core和mysql应用 .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对岸的苹果园越来越茂盛,实在不想再去做一只宅猿了.于是,.net猿决定搭上小鲸鱼的渡轮到苹果园去看看. .net猿上了小鲸鱼渡轮就先问了一个问题,苹果园上有能用来编写c#代码的和Visual Studio一样强大的IDE么?这时,天空闪过一道Gamma射线,艾瑞克神说,给你一个 Visual Stud