我有一个nodejs项目。在package.json中几乎没有依赖项
在“脚本”部分,我添加了"preinstall":"node preinstall"
preinstall脚本生成运行时上的依赖项并更新package.json,这样就可以用于实际的npm install调用。
preinstall.js是这样的
const pkg = require('./package.json')
pkg.dependencies['new-package'] = 'latest';
require('fs').writeFileSync('./package.json', JSON.stringify(pkg, null, 2))在package.json中,我得到了一个额外的差异,如下所示
-}
\ No newline at end of file
+}怎么摆脱这个?在我写完json文件之后,我不想要这个差异。
发布于 2019-09-16 19:11:20
@RobC在评论中已经提到了,只是把它放在一个实际的答复中:
问题是,JSON.stringify正确地在每一行中添加了换行符,但是在最后一行中没有插入换行符。当写入文件时,它会导致格式错误的文本文件(产生No newline at end of file警告等)。
无论如何,解决方案是手动添加缺少的换行符,方法是替换
JSON.stringify(pkg, null, 2)使用
JSON.stringify(pkg, null, 2).concat('\n')https://stackoverflow.com/questions/50622958
复制相似问题