【转】前端脚手架搭建(一)node全局命令和调试方式

发布时间 2023-03-23 09:37:25作者: 居无常

原地址:https://zhuanlan.zhihu.com/p/268312210

 

node全局命令

  • package.json 增加bin选项, 使用这个,在package.json提供一个映射到本地本地文件名的bin字段,一旦被引入后,npm将软链接这个文件到prefix/bin里面,以便于全局引入,或者在./node_modules/.bin/目录里
"bin": {
    "jfet": "./bin/jfet"
  },

 

  • 使用node执行
#!/usr/bin/env node

const cli = require('../lib');

cli.run(process.argv[2]);

 

node包调试方式

使用 npm link进行软链接测试

  • npm link npm link将会在全局包{prefix}/lib/node_modules/下面创建一个指向命令执行的地方的符号链接。同时也会创建一个{prefix}/bin/{name}下面对应的bin包。 另一种情况下,npm link package-name 将会创建一个从global包指向当前文件夹node_modules/下对应的链接。 注意:package-name是依据package.json的name而非文件名称。
  • 在对应要测试的包进行 npm link 根据 该包 使用这个包的package.json进行全局软链接
  • 然后在对应要使用的地方 npm link package-name 安装这个测试包(软链接)

配合vscode进行debugger

参考配置 launch.json 可以通过修改入参进行不同的调试

{

    "configurations": [

        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "args": ["doc", "--build"],
            "program": "${workspaceFolder}/packages/jfet/bin/jfet"
        }
    ]
}

 

开始开发

gitclone  主要看 package下的 jfet入口目录和插件 jfet-doc

  • jfet 先进行 npm link
  • jfet-doc node调试时候注意: 在哪个目录执行调试命令, 需要保证该目录或上级目录有对应的node(测试)包, 原理同npm找包的顺序
  • npm link
  • 然后在对应要调试的目录进行 npm link 包名

命令插件

参考 

这个以后会详解, 通过 jfet-doc

npm 包发布

需选择对应源 - 发布 npm publish - 强制删除 npm unpublish --force