Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

require.resolve捕获异常之后再install模块,然后require无法找到模块

$
0
0

Version:v7.8.0 Platform:Darwin shankar.local 16.5.0 Darwin Kernel Version 16.5.0: Fri Mar 3 16:52:33 PST 2017; root:xnu-3789.51.2~3/RELEASE_X86_64 x86_64

const exec = require('child_process').spawnSync

try {
	require.resolve('lodash.assign')
} catch (e) {
	exec('npm', ['install', 'lodash.assign', '--save'], {
		stdio: 'inherit'
	})
}

//throw Cannot find module ‘lodash.assign’
require('lodash.assign')

假如不使用require.resolve,直接使用install安装再require没任何问题,但是只要用require.resolve执行一遍来检测模块是否存在,接下来再安装就报cannot find module错误。


Viewing all articles
Browse latest Browse all 14821

Trending Articles