我正在为Node.js中的客户建立一个网站,我需要为故障单系统生成QR码或条形码.
我找到了一些模块,但是所有这些模块都需要像画布一样安装,无论如何.
我在共享主机软件包上,我的主机不允许我安装任何此类软件包,除非我升级到VPS或专用服务器(我没有钱).
你们有没有人知道如何在Node.js中解决这个问题,或者我是否需要建立一个子域来生成PHP或前端生成的QR(我不喜欢全部)?
目前使用:
找到的模块:
我正在使用 React 16.2 并想测试我的组件功能。
当调用其中一个函数时,它返回一个包含 Button 的元素数组,这些元素具有我想要测试的 onClick 道具。
问题是,我只能找到数组中的第一个元素。
代码如下:
Comp.js
class Comp extends Component {
renderButtons = () => {
const list = [];
list.push(<Button key="first" onClick={() => console.log('foo')}/>);
list.push(<Button key="second" onClick={() => console.log('bar')}/>);
list.push(<Button key="third" onClick={() => console.log('baz')}/>);
return list;
}
render() {
return (
<div>Empty div</div>
)
}
}
Run Code Online (Sandbox Code Playgroud)
Comp.test.js
test('.renderButtons', () => {
const comp = new Comp();
const component = renderer.create(comp.renderButtons());
const root = components.root;
// Using root.findByProps({key: 'second'}); throws an error
});
Run Code Online (Sandbox Code Playgroud)
技术栈: …
对于路由,我希望我的中间件将请求在/ html文件夹中定义的路由传递给服务器HTML(ejs),如果头Content-Type是application/json,则使用/ api文件夹中定义的路由.
但我不想在每条路线中定义它.所以我不是在寻找定义一些req.api属性的中间件,我可以在每个路由中检查它
app.get('/', function(req, res) {
if(req.api_call) {
// serve api
} else {
// serve html
}
});
Run Code Online (Sandbox Code Playgroud)
但我喜欢这样的事情:
// HTML folder
app.get('/', function(req, res) {
res.send('hi');
});
// API folder
app.get('/', function(req, res) {
res.json({message: 'hi'});
});
Run Code Online (Sandbox Code Playgroud)
这是可能的,如果是这样,我该怎么做?
我希望它能像这样工作:
app.use(checkApiCall, apiRouter);
app.use(checkHTMLCall, htmlRouter);
Run Code Online (Sandbox Code Playgroud) 众所周知,我们可以使用和不使用名称来定义函数:
var/let/const foo = function() {}
function bar() {}
Run Code Online (Sandbox Code Playgroud)
哪个foo
功能没有它自己的名字,但bar
确实如此.
console.log(foo.name) --> ''
console.log(bar.name) --> 'bar'
Run Code Online (Sandbox Code Playgroud)
是否可以在定义函数后定义函数的名称?
所以做一些事情会让console.log(foo.name)
别的东西回归''
当用户登录时,我的组件应该检索位置列表。
我正在使用fetch-mock
模拟获取请求并返回组件在安装时将使用的一些数据。
class Comp extends Component {
componentDidMount() {
this.getLocations();
}
getLocations = () => {
const url = 'the-url';
fetch(url)
.then((response) => {
return response.json()
})
.then(json => {
// json = {"value": [{"id": 0, "name": "Test Location"}]
this.setState({
locations: json.value
})
})
.catch(err => console.log('getLocations err', err))
};
}
Run Code Online (Sandbox Code Playgroud)
我已经记录了 json 并且输入是在评论中定义的。
我得到的错误是getLocations err TypeError: Cannot read property 'createEvent' of undefined
。
调用堆栈底部给出的行是this.setState({locations: json.value});
并且日志记录this
按预期显示了反应组件的实例。
谁能帮我这个?
技术:
我正在使用 Electron 构建应用程序,并且在登录后保存了一个配置文件。当应用程序在开发中重新打开时,它可以工作,但是当它与电子生成器分发后重新打开时,我必须再次登录。
代码
const {writeFile} = require('fs');
const {join} = require('path');
function write(config) {
writeFile(join(__dirname, './config.json'), JSON.stringify(config, null, 4), (err) => {
cb(err);
})
}
write(someJsonObject);
Run Code Online (Sandbox Code Playgroud)
项目:
Electron
1.7.11 Electron-builder 19.55.2
Node 8.8.1