node和npm开启本地命令模式

2019-03-23 23:26  250人阅读  评论 (0)
Tags: nodenpm

node和npm启动本地命令环境

问题原因

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

解决思路

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

解决方案

使用local-mode模块, local-mode模块会使用默认使用node_modules\.bin目录中命令.

安装

npm install local-mode --global

使用

没有开启本地环境, 使用的是全局中的webpack命令, 版本为3.12.0

webpack -v # /usr/local/node/bin/webpack 
# 3.12.0 

切换到项目根目录

cd $PROJECT_ROOT_DIRECTORY

开启本地命令模式

local-mode

再次执行webpack命令时, 使用的是本地./node_modules/.bin/webpack命令.

webpack -v # ./node_modules/.bin/webpack 
# 4.29.6 

适用范围

local-mode模块适用于windows linux和mac, 支持所有第三方模块导出的命令.