博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 vm 加载文件中的数据到变量里面
阅读量:6923 次
发布时间:2019-06-27

本文共 803 字,大约阅读时间需要 2 分钟。

.json 不能写注释, 还需要严格的双引号

或者使用 .json5

// test.db[  // name  {name: 1}]
// test.jsconst fs = require('fs');const vm = require('vm');const util = require('util')const format = console.log;const data = {  sc: ''}vm.createContext(data);util.promisify(fs.readFile)('./test.db', 'utf8')  .then(body => {    vm.runInContext(`sc = ${body}`, data); // 它会运行未经信任的代码    format( data.sc)    format(typeof data.sc)  })

执行结果

>node test.js[ { name: 1 } ]object

json5

// test.json5[  {    name: 1, // 这是名字  }]
// test.jsconst fs = require('fs');const JSON5 = require('json5')const {  promisify} = require('util')const format = console.logpromisify(fs.readFile)('./test.json5', 'utf8')  .then(body=>{    format( body)    format(typeof body)    format(JSON5.parse( body))  })

转载于:https://www.cnblogs.com/ajanuw/p/8795301.html

你可能感兴趣的文章
到底该怎么理解平均负载
查看>>
文件特殊权限
查看>>
Oracle 高水位线
查看>>
Oracle 数据库QUIESCE状态详解
查看>>
oracle 10g数据泵和导入导出性能对比(二)
查看>>
ORACLE SQL语句优化
查看>>
PIE SDK应用掩膜
查看>>
MySQL(二):特性详解
查看>>
DRBD的使用配置
查看>>
一个简单的串口程序
查看>>
rsync: failed to connect to 192.168.2.9: Connection refused
查看>>
操作系统无人值守自动安装之Windows XP
查看>>
Nginx 忽略URL大小写配置
查看>>
jenkins自动发布java代码
查看>>
如何查看已安装的CentOS版本信息
查看>>
网页背景设置
查看>>
[杭电ACM]1720A+B Coming
查看>>
年底献给IT技术人的"大片"
查看>>
Spring4-@Required
查看>>
字符串ucwords解析
查看>>