node和npm启动本地命令环境

2019-03-23 15:52  49人阅读  评论 (0)
Tags: nodenpm

第三方模块版本不一致

在node使用中, 会安装很多第三方模块, 这些第三方模块大部分带有一些命令, 比如webpack命令. 如果直接输入webpack命令, 将使用全局中的webpack命令. 但是本地的webpack版本和全局中的webpack版本不一定一直. 会导致各种问题, 新手在处理此类问题中都会一头雾水.

解决思路

将本地的node_modules\.bin目录加入到环境变量的最前面, 这样在寻找webpack命令的时候, 会先找到本地node_modules\.bin目录中的webpack命令, 这样就不用担心全局中的版本和本地的版本不一致而产生问题.

解决方案

  • 创建命令文件

在项目根目录, 也就是package.json同级目录中重建一个文件node-local-env.bat.

在文件中写入如下命令:

@echo off
set PATH=%~dp0node_modules\.bin;%PATH%
echo Switch To The Local Environment
  • 应用本地命令目录

每次启动cmd窗口并切换到项目目录以后, 执行node-local-env命令, 然后执行webpack命令, 将会使用项目目录下的node_modules\.bin目录下的webpack命令, 而不是全局中的webpack命令.

使用范围

此方法适用于其他模块导出的命令, 不仅限于webpack命令, 例如dotcoo命令.

全局方式

此方法是将node-local-env.bat文件放在其他目录, 不需要每个项目都创建一个.

C:\Program Files\nodejs\目录下创建文件node-local-env.bat.

在文件中写入如下命令:

@echo off
set PATH=%CD%\node_modules\.bin;%PATH%
echo Switch To The Local Environment

每次启动cmd窗口并切换到项目目录以后, 执行node-local-env命令即可.