Open realDuang opened 7 years ago
不会的,现在都可以继续使用,应该是你自己代码的问题
image换成dataImage报错如下 \node_modules\mockjs\dist\mock.js:1476 var Canvas = module.require('canvas') ^ TypeError: module.require is not a function
这个错跟dataImage无关吧……你module.require不能被识别的问题
同上,我也是这个错误TypeError: module.require is not a function
同报错,当使用dataImage的时候会编译不通过,话说什么叫做module.require不被识别呀。。是只在引这一个一个方法的时候会报错,其他的API都很正常
我用nodejs 9.11.2调试了一下,module.require
确实是undefined。但是官方文档里面确实有这个方法(8和10的文档里都有),但是我不太明白它的用法解释:
In order to do this, it is necessary to get a reference to the module object. Since require() returns the module.exports, and the module is typically only available within a specific module's code, it must be explicitly exported in order to be used.
还有一句注释值得注意:
PS:node-canvas 的安装过程实在是太繁琐了,所以不放入 package.json 的 dependencies。
所以即使module.require
的问题解决了,我们还需要自己安装canvas这个依赖项。
用faker.js的faker.image.dataUri(width, height)
替代,是用svg实现的,感觉比mockjs的方案简单了许多。
最新尝试node v10.5.1 mockjs 1.0.1-beta3 module.require is undefined
修改为require后可以正常使用
不过node-canvas安装以后仍然报错,
发现canvas的使用方法已经变了,需要用Canvas.createCanvas(width, height)
创建node-canvas对象,修复后可用
Random.image正常,dataImage会在编译阶段fail