Node环境的本地代码实现了实时开发实时看到效果,但是node在各种情况下,经常容易报错。主要是各种依赖包和环境问题,这个是比较折腾人的。这里将各种常用命令行和开发进行一个整理。
命令行就是我们最常用的win+R执行,打开的黑乎乎的窗口。
命令行版本查看 node -v 查看node的版本号,主要查看版本号,方便核对依赖库的差别。
node test.js 用node环境执行我们写的js代码,测试单文件开发时候常用。简单开发逻辑。
npm -v npm已经被集成到node基本环境里面,可以查看该命令的版本号。主要作用就是安装项目的各种项目包。
npm install 会自动读取当前执行该命令的目录下面的package.json文件,如果目录下面没有该文件,执行就会报下面的错。
如果指定要安装的包名 npm install xxx (跟python里面的pip install XXX 基本一样)值得注意的是nodejs默认安装库的目录是当前文件夹,如果是要装全局,请使用-g 参数,是安装到全局。
npm list 查看当前已经安装的npm包列表,这个很重要,可以查看当前开发环境安装的相关包。如果-g 参数表示查看当前全部列表的安装信息。
npm 安装相关包的案例:
安装vue 这样就可以直接使用vue命令行操作 npm -g install vue
安装express框架 npm install express
npm 查看镜像源 , npm get registry(重要,很多新手在安装package.json包的时候,非常的慢,或者经常出现网络错误提示,最主要的原因就是因为镜像源的问题)在前面的常见语言搭建环境里面提到过更还源 。可以大幅度加快包的下载速度。如果能切换代理,也可以切换代理下载对应的包。
一般我们用这个开发vue项目居多,npm run dev 这样就代表开启了本地调试的开发环境。
npm run dev
而开发完成后,需要打包到服务器里面
npm run build
会将代码生成到dist里面,然后我们将dist里面的代码上传到服务器 就完成一次vue代码的编译开发。
简单的开发处理里面,npm run dev 已经能使用,但是不专业,npm启动会启动所有的包。这里使用一个更专业的工具 vite ,npm可以安装vite命令
npm -g install vite.
在小项目上,vite和npm run 区别不大, 直接vite dev (比npm run dev 命令更简洁 打包)其中ctrl+c 终止速度也明显加快(实时停止,不需要执行其他额外程序)vite build (还是比 npm run build 更简便一些 )所以一般开发使用vite命令更方便。
而另外一个包管理命令,yarn 命令和npm命令Yarn和npm各有优势,Yarn在安装速度、依赖锁定、网络容错性等方面表现更优,适合需要高性能和可靠性的生产环境。npm则因其广泛的社区支持和插件生态,适用于依赖较少或社区活跃度高的项目。 Yarn下载的时候,会读取本地的库缓存,然后直接迁移到当前开发环境来。
上面梳理了常用的npm yarn 包管理工具,vite是前端构建工具。而一个更仙剑的pnpm管理工具,比yarn更进一步,如果当前电脑里面下载了某个对应的包,其他项目再次用到该项目的时候,直接使用一个链接链接到该项目里面来,当nodejs项目非常多的时候,pnpm命令非常有用,可以节省大量的硬盘空间。
直接安装pnpm命令 npm install -g pnpm 。更快的下载速度和更优秀的储存方案,基本上我们使用pnpm就够我们日常的小开发使用。
备注点: 每种命令下载的包是不一样的,读取list的时候,不同命令下载的包 只能使用对应命令才能看到。所以在一个开发环境里面,尽量使用一种命令,这样才能清晰的看懂当前环境的安装包情况。
理解vite.config.js的相关配置: (项目启动的时候,vite命令会直接读取该配置文件里面的信息)使用vite命令比较方便。配置的相关显示与说明:
// vite.config.jsimport { defineConfig } from 'vite';import vue from '@vitejs/plugin-vue';import path from 'path';export default defineConfig({// 项目根目录root: path.resolve(__dirname, './'),// 部署应用时的基础路径base: '/',// 静态资源目录publicDir: 'public',// 指定资源文件目录assetsDir: 'assets',// 开发服务器的配置server: {host: 'localhost', // 可以设置为 0.0.0.0 来允许外部访问port: 3000, // 端口号strictPort: true,open: true, // 自动打开浏览器proxy: {// 代理配置}},// 构建输出的配置build: {outDir: 'dist', // 输出目录emptyOutDir: true, // 是否清空输出目录sourcemap: true, // 是否生成 source map 文件rollupOptions: {// 传递给 rollup 的选项}},// 插件配置plugins: [vue()],// 定义全局变量define: {'process.env.VITE_APP_TITLE': '"Vite + Vue 3"'},// CSS 相关配置css: {requireModuleExtension: false,},// 模块解析配置resolve: {alias: {'@': path.resolve(__dirname, './src')},extensions: ['.js', '.ts', '.jsx', '.tsx', '.json'],symlinks: true},// 其他配置...});