小编Mar*_*son的帖子

如何以新的方式构建 Golang 模块和项目结构

似乎自 1.11 以来模块的使用方式发生了变化,我试图了解如何从另一个目录引用模块/包。

假设我有一个文件夹结构 \root\module1 \root\module2

我在每个目录中有一个 go.mod,我可以从 \root 目录访问/使用这些模块

如何从模块 1 访问模块 2。这些模块未在任何地方发布(我也不希望它们发布)-我只想访问它们。模块 2 包含我需要在 mondule1 中使用的类型/结构

亲切的问候马丁

go go-modules

10
推荐指数
1
解决办法
6319
查看次数

如何在Pupeteer(非无头)中最大化屏幕使用

我正在测试木偶操作员的Chrome浏览器自动化(以前使用过selenium,但有一些令人头疼的浏览器不等到页面完全加载).

当我启动一个puppeteer的实例 - 然后它用滚动条显示占用不到一半屏幕的内容.如何让它占据全屏?

const puppeteer = require('puppeteer');

async function test(){
    const browser = await puppeteer.launch({
        headless: false,
      });
    const page = await browser.newPage();
    await page.goto('http://google.com')
}

test()
Run Code Online (Sandbox Code Playgroud)

初始页面似乎加载正常,但是一旦我访问页面,它就可以滚动和缩小.

puppeteer

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

如何将 cURL 转换为 axios 请求

我显然在这里忽略了一些东西:

我正在尝试将 cURL 请求从Here转换为 axios 。

curl -d "grant_type=client_credentials\
&client_id={YOUR APPLICATION'S CLIENT_ID} \
&client_secret={YOUR APPLICATION'S CLIENT_SECRET}" \
https://oauth.nzpost.co.nz/as/token.oauth2
Run Code Online (Sandbox Code Playgroud)

这很好用(当我输入凭据时)

我尝试了以下代码:

import axios from "axios";

async function testApi() {
  try {
    const b = await axios.post("https://oauth.nzpost.co.nz/as/token.oauth2", {
      client_id: "xxxxxxxxxxxxxxxxxxxxxxxxx",
      client_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      grant_type: "client_credentials"
    });
  } catch (error) {
    console.log(error);
  }
}

testApi();
Run Code Online (Sandbox Code Playgroud)

这失败了。错误 400。grant_type 是必需的。我试过把它作为参数,包含在 data: json block 中。我想不通!

curl node.js axios

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

Playwright 等待页面完全加载且 XHR / Ajax 调用完成

我之前在 Node.js 中使用过 Puppeteer,现在在 .Net 中使用 Microsoft.Playwright

我需要等待所有 XHR / Ajax 请求完成,以便页面处于真正的“就绪”状态。使用超时和延迟是不可靠的。

对于 Puppeteer,我使用了一个 Pending XHR Puppeteer 库https://www.npmjs.com/package/pending-xhr-puppeteer,它是专门针对这个问题设计的

所以在node.js中我会在warapper中加载页面等,然后在需要时我会调用

await pageWrapper.waitForAllXhrFinished()
Run Code Online (Sandbox Code Playgroud)

我假设它在幕后记录发送的 ajax 请求的数量,并在它们全部返回后返回该函数。

注意:对于我的场景之一,设置了 2 个 XHR 请求,它们来自完全相同的 URL。

我们如何在 Playwright for .Net 中实现这一目标?

playwright-sharp

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

Vuex商店在Nuxt中的位置

只是试图了解Vuex/Nuxt,对nodejs来说也是一个新手.

鉴于nuxt是服务器端渲染应用程序,Vuex"驻留"在哪里.在标准的Vue中,Vuex是一个客户端商店.它在Nuxt中如何运作?它仍然是客户端商店,但只是首先在服务器上呈现?

如果它停留在服务器上,那么我只是想知道它如何处理每个用户数据 - 或者它是以某种方式共享的.谢谢.

vue.js vuex

7
推荐指数
1
解决办法
1518
查看次数

Vuetify将数据表与来自带有Vuex的API的外部数据一起使用

我想将vuetify框架与Vuex一起使用,但有关将其与Vuex一起使用的文档有限.

我想要:

  • 从外部API获取数据(但只需要所需的数据)
  • 然后将数据保存在状态和编辑等等
  • 然后将任何更改推回到api

我已经尝试了一些带有vuetify的外部分页和排序示例,但我不能让它显示所有记录计数,除非我硬编码.

我对Vue和Vuetify很新,所以也许我误解了一些东西.

<template>
<div>
    <v-data-table
            :headers='headers'
            :items='items'
            :length='pages'
            :search='search'
            :pagination.sync='pagination'
            :total-items='totalItemCount'
            class='elevation-1'
    >
        <template slot='items' slot-scope='props'>
            <td class='text-xs-right'>{{ props.item.id }}</td>
            <td class='text-xs-right'>{{ props.item.first_name }}</td>
            <td class='text-xs-right'>{{ props.item.last_name }}</td>
            <td class='text-xs-right'>{{ props.item.avatar }}</td>
        </template>
    </v-data-table>
</div>
</template>
<script>
import moment from 'moment'
import axios from 'axios'

export default {
  name: 'test-table',
  watch: {
    pagination: {
      async handler () {
        const rowsPerPage = this.pagination.rowsPerPage
        // const skip = (this.pagination.page - 1) * rowsPerPage
        const pageNumber = this.pagination.page …
Run Code Online (Sandbox Code Playgroud)

vue.js vuex vuetify.js

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

如何通过REST Api在Loopback中使用Decimal128

我想在环回中使用MongoDB Decimal128数据类型.注:我希望使用的号码类型.

我的模特:

{
  "name": "Mongoproduct",
  "options": {
    "validateUpsert": true,
    "strictObjectIDCoercion": true,
    "relations": {},
    "mongodb": {
      "collection": "products",
      "allowExtendedOperators": true
    }
  },
  "properties": {
    "id": {
      "type": "String",
      "required": true,
      "length": null,
      "precision": null,
      "scale": null
    },
    "sku": {
      "type": "String",
      "required": false,
      "length": 50,
      "precision": null,
      "scale": null,
    },
    "buyprice": {
      "type": "object",
      "mongodb": {
        "dataType": "Decimal128"
      }
    },
  }
  "validations": [],
  "relations": {},
  "acls": [],
  "methods": {}
}
Run Code Online (Sandbox Code Playgroud)

如果我通过REST资源管理器查询数据,记录将如下所示:

{
    "id": "5b41a6ac1afe940d900cba75",
    "sku": "shGHYB12-60-LOZ",
    "buyPrice": { …
Run Code Online (Sandbox Code Playgroud)

mongodb node.js loopbackjs

7
推荐指数
1
解决办法
359
查看次数

如何在 Electron ( Node.js ) 中连接条码扫描仪

我想将标准 Zebra 扫描仪连接到电子(node.js windows)应用程序。我想正确地做到这一点,而不仅仅是设置为键盘输入。

我需要一些指导 - 也许已经写了一些东西(请不要商业产品)

谢谢。

electron electron-builder

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

单击后如何让 Puppeteer waitForNavigation 工作

我试图让 puppeteer 在继续下一个语句之前等待导航完成。基于waitForNavigation()的文档,代码应该在下面工作。但它只是跳到下一个语句,我必须使用一种解决方法来等待响应中的特定 URL。

我也尝试了所有
waituntil选项(加载、domcontentloaded、networkidle0 和 networkidle2)。

任何如何让我正常工作的想法都值得赞赏。

const browser = await puppeteer.launch({
  headless: false,
})
const page = await browser.newPage()
const home = page.waitForNavigation()
await page.goto(loginUrl)
await home

const login = page.waitForNavigation()
await page.type('#email', config.get('login'))
await page.type('#password', config.get('password'))
await page.click('#submitButton')
await login // << skips over this

// the following line is my workaround and it works , but ideally I don't want 
// to specify the expected "after" page each time I navigate
await page.waitForResponse(request …
Run Code Online (Sandbox Code Playgroud)

node.js puppeteer

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

如何在 firestore/nodejs 中存储/使用小数和货币值

在 MongodDB 中,有一种数据类型“Decimal128”可以正确保存小数值(请参阅此处的“原因” 。

在 firebase 中存储/使用小数和货币类型的推荐方法是什么?与 Bigdecimal 相互转换吗?或者 firestore 中的小数类型足以克服舍入问题吗?

node.js google-cloud-firestore

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