小编Che*_*erd的帖子

如何在没有画布的情况下在Node.js中生成QR图像?

我正在为Node.js中的客户建立一个网站,我需要为故障单系统生成QR码或条形码.

我找到了一些模块,但是所有这些模块都需要像画布一样安装,无论如何.

我在共享主机软件包上,我的主机不允许我安装任何此类软件包,除非我升级到VPS或专用服务器(我没有钱).

你们有没有人知道如何在Node.js中解决这个问题,或者我是否需要建立一个子域来生成PHP或前端生成的QR(我不喜欢全部)?

目前使用:

  • Node.js的
  • Express.js
  • Angular.js

找到的模块:

javascript canvas qr-code node.js angularjs

12
推荐指数
3
解决办法
1万
查看次数

如何使用 React 渲染器在玩笑中测试 JSX 元素数组

我正在使用 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)

技术栈: …

jsx reactjs jestjs

8
推荐指数
1
解决办法
3727
查看次数

Expressjs路由器基于Content-Type标头

对于路由,我希望我的中间件将请求在/ 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)

api middleware node.js express

7
推荐指数
2
解决办法
3494
查看次数

定义后设置函数名称

众所周知,我们可以使用和不使用名称来定义函数:

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)别的东西回归''

javascript function

6
推荐指数
1
解决办法
295
查看次数

Jest React 无法读取 setState 上未定义的属性“createEvent”

当用户登录时,我的组件应该检索位置列表。
我正在使用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按预期显示了反应组件的实例。

谁能帮我这个?

技术:

  • 反应 16.2.0
  • 开玩笑 21.2.1
  • 反应测试渲染器 …

javascript json typeerror reactjs jestjs

6
推荐指数
0
解决办法
7014
查看次数

create-react-app开玩笑遇到意外令牌{

我正在使用开发一个带有QR扫描仪的React应用create-react-app
我添加了模块react-qr-reader,该模块又使用了模块webrtc-adapter

一切顺利,直到我跑步yarn test。然后它向我显示此错误: 在此处输入图片说明

我已经弹出了项目,因此可以使用transformIgnorePatterns并添加node_modules/webrtc-adapter到数组中,但这仍然会导致相同的错误。

谁能帮我这个?

reactjs jestjs babeljs

3
推荐指数
2
解决办法
1000
查看次数

电子写入 json 文件在 dev 中工作但不在 dist 中工作

我正在使用 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

json fs node.js electron electron-builder

0
推荐指数
1
解决办法
1103
查看次数