你对npm init的了解可能还不够深入吧?

简介: 印象里面大家可能对它的记忆可能都停留在,npm init之后是快速的初始化package.json,并通过交互式的命令行让我们输入需要的字段值,当然如果想直接使用默认值,也可以使用npm init -y快速生成一个简单默认的package.json。

image.png


1、前言


之前写过一篇关于如何发布一个npm包到npmjs,有兴趣的可以看一下这篇文章 juejin.cn/post/712782…


主要代码如下所示


// package.json中的bin路径脚本
  "bin": {
    "create-ak-vue": "./bin/vue.js",
    "create-ak-vite": "./bin/vite.js"
  },


然后bin文件夹下两个文件的代码分别为


// vite.js
#! /usr/bin/env node
console.log('vite.1js')
console.log('vite.2js')
// vue.js
#! /usr/bin/env node
console.log('vue.js')
console.log('vue.js')


大致的代码就是这样了,现在假设一下,我们的代码已经发布出去了,那么开始安装


// 全局安装aehyok-cli
npm i aehyok-cli -g
// 然后执行
create-ak-vue 
create-ak-vite
// 或者下面两个
npm create ak-vue
npm create ak-vite
// 再或者下面两个
npm init ak-vue
npm init ak-vite


执行效果如下


可以发现这三种情况实现了同样的功能


2、npm init、npm create


印象里面大家可能对它的记忆可能都停留在,npm init之后是快速的初始化package.json,并通过交互式的命令行让我们输入需要的字段值,当然如果想直接使用默认值,也可以使用npm init -y快速生成一个简单默认的package.json。


create-app-react创建项目命令,官网链接可以直接查看 create-react-app.dev/docs/gettin…


//官网的三种命令
npx create-react-app my-app
npm init react-app my-app
yarn create react-app my-app
//我又发现npm create也是可以的
npm create react-app my-app


上述这些命令最终效果都是可以执行创建项目的


同样的vite创建项目的命令


//官网的命令
npm create vite@latest
yarn create vite
pnpm create vite
// 指定具体模板的
// npm 6.x 
npm create vite@latest my-vue-app --template vue 
//npm 7+, extra double-dash is needed: 
npm create vite@latest my-vue-app -- --template vue
yarn create vite my-vue-app --template vue
pnpm create vite my-vue-app --template vue


可以发现vite官网没有使用npx命令,不过我在我自己电脑上尝试了另外几个命令确实也是可以的


npx create-vite my-app
npm init vite my-app


image.png


通过上面的对比可以一个小问题,yarn create去官网查了是存在这个指令的,官网地址可看 classic.yarnpkg.com/en/docs/cli…


而对于npm create这个命令在npm官网是看不到的,但是在一篇博客中发现了更新日志


image.png


意思就是说npm create xxxnpm init xxx 以及yarn create xxx效果是一致的。那么我们来本文的命令行


// 我们是通过npm安装的,并且包名里是包含create的
npm i create-vite-pretty-lint
// 那么以下几种方式都可以使用的
npm init vite-pretty-lint
npm create vite-pretty-lint
yarn create vite-pretty-lint
npx create-vite-pretty-lint


3、npx


假如我们只在项目中安装了vite,那么node_modules.bin文件夹下是会存在vite指令的


image.png


如果我们想在该项目下执行该命令第一种方式便是


image.png


第二种方式就是直接在package.json的scripts属性下


image.png


关于npx的详细说明可以看一下阮一峰大佬的精彩分www.ruanyifeng.com/blog/2019/0…

4、总结


其实前言中的执行命令还可以添加一个


npx create-ak-vue


所以最后其实可以有四种方式去执行package.json中bin命令,总共有四种执行方式,真的太可怕了。

目录
相关文章
.vitepress执行了,npm init,npm,修改了scipt,出错了如何解决,vitepress的配置,结合up主成功版,能够实现侧边栏跳转,解决方法,一个一个尝试
.vitepress执行了,npm init,npm,修改了scipt,出错了如何解决,vitepress的配置,结合up主成功版,能够实现侧边栏跳转,解决方法,一个一个尝试
使用npm init需要注意的事情以及pageck.json文件介绍
使用npm init需要注意的事情以及pageck.json文件介绍
|
3月前
|
JavaScript
npm install没问题,但npm run dev的时候报Node Sass version 6.0.1 is incompatible with ^4.0.0 ^5.0.0
npm install没问题,但npm run dev的时候报Node Sass version 6.0.1 is incompatible with ^4.0.0 ^5.0.0
38 0
|
2月前
|
前端开发
windows10 安装node npm 等前端环境 并配置国内源
windows10 安装node npm 等前端环境 并配置国内源
154 3
|
3月前
|
资源调度 JavaScript Linux
nvm, node.js, npm, yarn 安装配置
nvm, node.js, npm, yarn 安装配置
178 1
|
18天前
|
JavaScript
【Deepin 20系统】Jupyter notebook解决ValueError: Please install Node.js and npm before continuing installa
文章讨论了在Deepin 20系统上安装Jupyter Notebook的debug插件时出现的"ValueError: Please install Node.js and npm before continuing installation"错误,并提供了使用conda安装Node.js的解决方法。
33 1
|
4天前
Mac卸载 Node npm,升级 Node
Mac卸载 Node npm,升级 Node
8 0
|
7天前
NPM——Electron failed to install correctly, please delete node_modules/electron and try
NPM——Electron failed to install correctly, please delete node_modules/electron and try
25 0
|
7天前
|
开发工具 git
IDEA——npm install 没有生成node_modules目录
IDEA——npm install 没有生成node_modules目录
30 0
|
7天前
|
缓存
Node——npm ERR! cb() never called!
Node——npm ERR! cb() never called!
20 0

热门文章

最新文章

推荐镜像

更多