包:自定义包

自定义包

包的规范

  • package.json必须在包的顶层目录下
  • 二进制文件应该在bin目录下
  • JavaScript代码应该在lib目录下
  • 文档应该在doc目录下
  • 单元测试在test目录下

package.json字段解析

  • name - 包名。
  • version - 包的版本号。
  • description - 包的描述。
  • homepage - 包的官网 url 。
  • author - 包的作者姓名。
  • contributors - 包的其他贡献者姓名。
  • dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
  • repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
  • main - main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
  • keywords - 关键字

示例

目录结构
mypack

/*
    index.js入口文件
 */
const path = require('path');
const fs = require('fs');
const md = require('markdown-it')();
let tplPath = path.join(__dirname,'tpl.html');
let mdPath = path.join(__dirname,'demo.md');
let targetPath = path.join(__dirname,'demo.html');

//获取markdown文件
fs.readFile(mdPath,'utf8',(err,data)=>{
   if(err) throw err;
   let result = md.render(data);

   //读取模板内容
    let tpl = fs.readFile(tplPath,'utf8',(err,tpldata)=>{
       if(err) throw err;
        fs.writeFile(targetPath,tpldata.replace('<%content%>',result),(err)=>{
            console.log('转换完成');
        });
    });
});
[comment]:demo.md
# 标题1
## 标题2
### 标题3
>序列
+ 项目1
+ 项目2
<!--tpl.html-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板页面</title>
</head>
<body>
<%content%>
</body>
</html>
posted @ 2020-09-29 11:58  mrtransition  阅读(205)  评论(0)    收藏  举报