小编zer*_*298的帖子

.flat()不是函数,有什么不对?

以下代码

function steamrollArray(arr) {
  // I'm a steamroller, baby
  return arr.flat();
}

steamrollArray([1, [2], [3, [[4]]]]);
Run Code Online (Sandbox Code Playgroud)

回报

arr.flat 不是一个功能

我在FirefoxChrome v67中尝试过,结果也是如此.

怎么了?

javascript arrays flat

21
推荐指数
4
解决办法
2万
查看次数

为什么在这个类方法中"this"未定义?

我试图搜索似乎整个互联网的内容,但我仍然对JS类的问题感到烦恼,我正在为微服务写作(仍在学习中).

所以,我尝试在实例化的对象上调用一个类方法,并根据我的知识和我的(我猜错的)单元测试它应该工作.

好吧,我将从收到的错误开始:

    GET /api/users 500 2.863 ms - 2649
TypeError: Cannot read property 'repository' of undefined
    at list (C:\Users\<user>\Documents\Programming\node\kaguwa-ngn\kaguwa-user-service\controllers\user-controller.js:20:9)
    at Layer.handle [as handle_request] (C:\Users\<user>\Documents\Programming\node\kaguwa-ngn\kaguwa-user-service\node_modules\express\lib\router\layer.js:95:5)
    at next (C:\Users\<user>\Documents\Programming\node\kaguwa-ngn\kaguwa-user-service\node_modules\express\lib\router\route.js:137:13)
Run Code Online (Sandbox Code Playgroud)

(还有更多).

代码调用代码:

user-controller.js

'use strict';

var utils = require('./utils');

class UserController {

  constructor(repository) {
    this.repository = repository || {};
  }

  /**
   * 
   * Lists all users.
   * 
   * @param {object} req 
   * @param {object} res 
   */
  list(req, res) {

    this.repository.list(function (err, users) {
      if (err) return res.status(500).json(utils.createError(500));

      if (Object.keys(users).length !== 0) { …
Run Code Online (Sandbox Code Playgroud)

javascript this undefined node.js es6-class

18
推荐指数
1
解决办法
6483
查看次数

npmjs.com如何计算代码质量

当我们向npm发布一个包时,它会在搜索页面中显示一些数据,如流行度,质量和维护(示例图像是打击的).我只是想知道npm如何计算质量?真的很感激,如果有人能给出一些线索.

在此输入图像描述

如果您在搜索页面上查看,可以看到此信息.查看搜索页面的右侧:npm搜索"react"

javascript npm npm-publish

18
推荐指数
1
解决办法
1876
查看次数

有条件的网页服务基于"接受"标题与快递?

我了解您可以通过以下方式提供静态内容:

app.use(express.static(__dirname + "../../../public_html"));
Run Code Online (Sandbox Code Playgroud)

但是,我试图根据响应发送的"Accept"标题明确更改它提供的内容的表示.通常,我通过REST API以JSON格式请求我拥有的内容,因此url是:http://blah.com/this/that/item并且运行良好.

但是,我还希望用户能够从浏览器访问同一页面,这将通过以下内容发送:Accept:text/html并且由于该标题,请查看具有正确格式(CSS/JS/HTML /等)的页面以呈现相同的信息.

现在,我正试图通过以下方式提供内容:

if (req.accepts("text/html")) {
   res.sendfile("/", {
      root: "../../../public_html"
   });
   res.status(200);
   return;
}
Run Code Online (Sandbox Code Playgroud)

public_html持有index.html与CSS和JS的相对目录.我不会在完成后发送该文件,但我认为这将是一个良好的开端,然后在我弄清楚如何基于Accept标头提供静态内容之后添加JSON内容.

有一个更好的方法吗?

http-headers node.js express

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

在 jwt.io 中总是得到无效的签名

当我在 jwt.io 中输入生成的令牌时,我总是得到无效的签名这是我制作令牌的代码

const secret = 'secret';
const token = jwt.sign({
    username: user.username,
    userID: user._id
  },
  secret, {
    expiresIn: "1hr"
  }
);
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

我正在使用 jsonwebtoken 包。https://github.com/auth0/node-jsonwebtoken

node.js express jwt

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

如何限制 ResizeObserver?

我目前使用 ResizeObserver 来观察元素的大小,但我正在考虑使用节流阀(lodash 的节流阀)来提高它的性能。

const myResize = new ResizeObserver((entries) => {
    const el = document.querySelector('#foo');
    // get boundingRect and adjust height
});

let imageToWatch = document.querySelector('.image');
myResize.observe(imageToWatch);
Run Code Online (Sandbox Code Playgroud)

我有办法吗throttle?节流阀只是在内部逻辑上吗myResize?我想我无法限制observe这一部分。

javascript

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

Leaflet + MarkerCluster +自定义图标+弹出窗口

我想在使用Leaflet MarkerCluster的同时为我的标记使用自定义图标.

我已经设法实现我的自定义图标,但现在标记弹出窗口不再工作了.

我的代码看起来像这样:

var markers1 = new L.MarkerClusterGroup();

// add markers with popup info
var geoJsonLayer1 = L.geoJson(Myplaces, {
   onEachFeature: function(feature, layer) {
      layer.bindPopup(feature.properties.Name);
   }
})

// add markers with custom icons
var geoJsonLayer1 = L.geoJson(Myplaces, {
   onEachFeature: onEachFeature,
   pointToLayer: function(feature, latlng) {
      var iconURL = feature.properties.img;
      return new L.Marker(new L.LatLng(feature.geometry.coordinates[1], feature.geometry.coordinates[0]), {
         icon: L.icon({
            iconAnchor: [0, 0],
            popupAnchor: [0, 0],
            iconUrl: iconURL
         })
      });
   }
})

// add markers to map
markers1.addLayer(geoJsonLayer1);
map.addLayer(markers1); …
Run Code Online (Sandbox Code Playgroud)

icons popup markerclusterer leaflet

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

使用带有keycloak的spring安全注释

我只是一个Spring Security的初学者,但我想知道的是有可能的方式,我可以使用配置keycloak @PreAuthorize,@PostAuthorize,@Secured和其他注释.例如,我keycloak-spring-security-adapter在我的简单Spring Rest webapp中配置了Spring Security,以便我可以访问控制器中的Principal对象,如下所示:

@RestController
public class TMSRestController {

     @RequestMapping("/greeting")
     public Greeting greeting(Principal principal, @RequestParam(value="name") String name) {
        return new Greeting(String.format(template, name));
     }
...
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试这个时(只是一个例子,实际上我想在授权之前执行自定义EL表达式):

@RestController
public class TMSRestController {

    @RequestMapping("/greeting")
    @PreAuthorize("hasRole('ADMIN')")
    public Greeting greeting(Principal principal, @RequestParam(value="name") String name) {
        return new Greeting(String.format(template, name));
    }
...
}
Run Code Online (Sandbox Code Playgroud)

我得到例外:

org.springframework.security.authentication.AuthenticationCredentialsNotFoundException:在SecurityContext中找不到Authentication对象

在我的spring安全配置中,我启用了全局方法安全性:

我需要做什么才能使这个弹簧安全注释工作?是否可以在此上下文中使用此注释?

spring spring-security pre-authentication keycloak

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

为什么vuetify数据表会拉伸整个页面而不是渲染滚动条?

Codepen:https://codepen.io/frutality/pen/LQRGLv (请看它,因为某些原因插入此处的代码被切断)

<div id="app">
  <v-app>
    <v-navigation-drawer app fixed clipped v-model="drawer"></v-navigation-drawer>

    <v-toolbar app dense absolute clipped-left dark color="primary">
      <v-toolbar-title>
        <v-toolbar-side-icon @click.stop="drawer = !drawer"></v-toolbar-side-icon>
        <span class="hidden-xs-only">Logo</span>
      </v-toolbar-title>
    </v-toolbar>

    <v-content>
      <v-container fluid fill-height>
        <v-layout>
          <div>
            <v-data-table :headers="headers" :items="titles" hide-actions disable-initial-sort class="elevation-1">
              <template slot="items" slot-scope="props">
              <td>
                {{ props.item.title }}
              </td>
              <td>{{ props.item.type }}</td>
              <td>{{ props.item.imdb_id }}</td>
              <td>{{ props.item.is_adult }}</td>
              <td>{{ props.item.start_year }}</td>
              <td>{{ props.item.end_year }}</td>
              <td>{{ props.item.duration }}</td>
              <td>{{ props.item.genres_temp }}</td>
            </template>
            </v-data-table>
            <div class="text-xs-right">
              <v-btn color="primary" class=mr-0>Refresh</v-btn>
            </div>
          </div>
        </v-layout>
      </v-container> …
Run Code Online (Sandbox Code Playgroud)

html css flexbox vue.js vuetify.js

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

表达 res.download()

我不知道为什么会这样,但这真的很烦人。我希望根据Express 文档下载该文件。我有下一个代码:

  //in react (App.js)
  download = () => {
    const { images, target } = this.state;
    const filename = images.find(img => img.id === target).filename;
    fetch('http://localhost:3001/download', {
      method: 'post',
      headers: {'Content-Type': 'application/json'},
      body: JSON.stringify({filename})
    })
  }
  //in express (server.js)
  app.post('/download', (req, res) => {
    var file = '../public/images/' + req.body.filename;
    res.download(file, req.body.filename);
  });
Run Code Online (Sandbox Code Playgroud)

文件夹结构:

  -server
    |-server.js
  -public
    |-images
      |-a.jpg
      |-b.jpg
  -src
    |-App.js
Run Code Online (Sandbox Code Playgroud)

什么也没发生,没有显示错误。有任何想法吗?

javascript express reactjs

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