我有一个模拟服务器 ( https://github.com/jamesdbloom/mockserver ) docker 容器实例,期望返回一个 javascript 模板。如果我可以在该模板(即 faker.js)中使用 npm 包来生成一个好的假响应,那会让我的生活变得更轻松。
模拟服务器无法解析 require('faker') 我真的不知道为什么。这是我到目前为止所尝试的:
npm install faker
(在/opt/mockserver/中安装faker)我试过了require('faker')
,require('/opt/mockserver/faker')
npm install -g faker
(在/usr/lib/中安装faker)我试过了require('faker')
,require('/usr/lib/faker')
克隆 faker.js 存储库并将其用作我尝试过的本地模块
require('/opt/mockserver/faker.js')
,require('/opt/mockserver/faker.js/lib')
以上所有方法均无效。不使用外部模块可以正常工作,但我真的很想解决这个问题。mockserver 不是 nodejs 应用程序,我在网上只能找到如何将 docker 变成 nodejs 应用程序。
任何帮助表示赞赏
如果有人想尝试一下,这里有一些入门代码
创造期望
curl -v -X PUT "http://localhost:1080/mockserver/expectation" -d '{
"httpRequest": {
"path": "/some/path"
},
"httpResponseTemplate": {
"template": "var faker = require('/opt/mockserver/faker.js');\nreturn {'statusCode': 200, 'body': JSON.stringify({'firstName': faker.name.firstName(), 'lastName': faker.name.lastName()})};",
"templateType": "JAVASCRIPT"
}
}'
使用此响应模板
var faker = require('/opt/mockserver/faker.js');
return {
'statusCode': 200,
'body': JSON.stringify({
'firstName': faker.name.firstName(),
'lastName': faker.name.lastName()
})
};
验证:
curl -v -X GET "http://localhost:1080/some/path"
谢谢 :)