Answers:
不要require('./package.json')
用于监视过程。使用require
会将模块解析为第一个请求的结果。因此,如果您正在编辑package.json,那么这些编辑将无法进行,除非您停止监视过程并重新启动它。对于gulp监视过程,最好使用bitlinguist的方法,因为它将在每次执行任务时重新读取文件并对其进行解析。
var fs = require('fs');
var json = JSON.parse(fs.readFileSync('./package.json'));
require
和删除与高速缓存delete require.cache[require.resolve(FILEPATH)];
@Mangled Deutz是一个很好的解决方案。我本人首先做到了这一点,但没有成功(再回到第二步),然后我尝试了以下解决方案:
# Gulpfile.coffee
requireJSON = (file) ->
fs = require "fs"
JSON.parse fs.readFileSync file
现在您应该看到这有点冗长(即使它起作用了)。require('./package.json')
是最好的解决方案:
-请记住在文件名前面添加“ ./”。我知道它很简单,但这是require方法起作用与不起作用之间的区别。
如果您要从NPM触发吞咽,例如使用“ npm run build ”之
(这仅适用于NPM的gulp运行触发器)
process.env.npm_package_对象
对于较深的对象,应使用下划线将其分开。
如果您想读取package.json中的某些特定配置,例如要读取您在package.json中创建的配置对象,
scripts : {
build: gulp
},
config : {
isClient: false.
}
那么你可以使用
process.env.npm_package_**config_isClient**