分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
下午的时候写了一篇关于一个不成熟的模板引擎的博客,觉得还是不太够,然后就封装了起来,做成了一款开发包。最后为了尝试一下如何发布自己的包,就又完善了一下。做此文以记之。
初衷
说来也不是什么高大上的东西,就是个简单的字符串格式化的实现。灵感还是源自Python。写过Python代码的应该都知道字符串类有这么一个方法。
string = "hello {}".format("郭璞") # hello 郭璞string = "hello {username}".format(username="郭璞") # hello 郭璞
- 1
- 2
然后对于其他语言来说,比如C, Nodejs,Java等也都有类似的实现,但是不是很好用,尤其是记忆一大串什么%s
, %d
, %f
,之类的,一点都不好玩了。
当然了,你也可以不用这些字符串格式化的方法,单纯的使用字符串相加的方式。比如:
str = "Hello" + username + ", are you " +anothername+ "?";
- 1
这还是变量很少的情况,试想一下。如果你有20个变量要与字符串进行拼接,那该是个什么工作量。不出错还好,一旦出错,骂街的❤都有了。况且在Node中,单引号和双引号都可以正常的表示字符串对象,这只能让你的字符串拼接显得更加举步维艰。
功能
下面给个小例子,一定能让你眼前一亮。
const str_format = require('str-format');var str = "Hello {}!Welcome to {address}!\nAre you come from {} or {china.beijing}.";var params = ['游客', {address: "冰雹工作室"}, '朝阳区', {china: {beijing: '北京'}}];var result = str_format.format(str, params);console.log(result);
- 1
- 2
- 3
- 4
- 5
- 6
运行一下代码,会有如下结果。
Hello 游客!Welcome to 冰雹工作室!Are you come from 朝阳区 or 北京.
- 1
- 2
就跟Python中原生处理字符串格式化一样,这样写起来字符串就会变得很方便啦。
使用
使用它很方便,有这么两种方式:
npm
npm install str-format --save
- 1
然后就可以在你的代码中使用如下语法来使用它了。
var str_format = require('str-format');
- 1
local module
第二种就是当作本地包来使用,具体可以这么做:
到https://github.com/guoruibiao/have-fun-in-node/tree/master/str-format
下载完整代码,然后通过本地引用的方式来加载。
var str_format = require('./str-format/index');
- 1
这样也能使用这个模块的相关功能了。
打包发布
回到正题,下面讲讲我的打包发布的流程。
目录
创建好一个目录,我的目录结构如下:
E:\Code\Nodejs\learn\my-work\string\str-format>tree /f .卷 文档 的文件夹 PATH 列表卷序列号为 0000-4823E:\CODE\NODEJS\LEARN\MY-WORK\STRING\STR-FORMAT index.js # 功能模块 package.json # npm init 命令生成的文件 README.md # Markdown语法描述的模块信息没有子文件夹
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
package.json
如上面目录中看到的package.json文件,其是由npm init命令生成的。在这个目录下打开命令行输入
npm init
- 1
然后根据终端里面的提示信息进行填写即可。
发布
发布之前确保自己有npm的账号。如果没有,就到
https://www.npmjs.com/signup
来注册即可。
注册完毕之后就可以使用npm publish来发布你的包了。
进入到模块的目录下,输入命令npm publish,如果出现下面的信息,则说明你需要一个登录会话,通过npm adduser进行登录即可。
E:\Code\Nodejs\learn\my-work\string\str-format>npm publishnpm ERR! Windows_NT 10.0.10586npm ERR! argv "D:\\Soft