小编Isa*_*ton的帖子

反应一个 css 文件或每个组件一个

我想知道是否最好拥有一个带有注释的大型 css 文件,将代码分解为相应的部分(例如页脚、页眉)。或者每个组件一个 css 文件。例如 header.css、footer.css?优缺点都有什么?

css file reactjs

5
推荐指数
2
解决办法
6326
查看次数

Webpack Babel Function("r", "regeneratorRuntime = r")(r) 违反了 unsafe-eval CSP

我正在使用下面的 webpack 配置来构建我所有的 JS 文件:

const path = require('path');
const glob = require('glob');

module.exports = {
  entry: Object.fromEntries(glob.sync(path.resolve(__dirname, 'src/js/profile/*.js')).map((v) => [
    path.basename(v, '.js'), v,
  ])),
  output: {
    filename: '[name].js',
    path: path.resolve(__dirname, 'dist/js/profile'),
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /(node_modules|bower_components)/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ["@babel/preset-env"],
            plugins: [
              [
                "@babel/plugin-transform-runtime",
                {
                  "useESModules": true
                }
              ]
            ]
          }
        }
      }
    ]
  }
};

Run Code Online (Sandbox Code Playgroud)

如果我加载了适当的页面,我会收到以下错误:

Uncaught EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not …
Run Code Online (Sandbox Code Playgroud)

javascript webpack babeljs

5
推荐指数
0
解决办法
326
查看次数

Javascript从文件中导入所有模块作为全局变量

在 script1.js 中,我有以下导出:

export function test1() {
  // do something
}

export function test2() {
  // do something
}
Run Code Online (Sandbox Code Playgroud)

我将 script1.js 导入 script2.js:

import * as functions from './script1.js';

functions.test1();
functions.test2();
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种方法可以从 script1.js 导入所有模块,并将它们直接放置在 script2.js 的全局变量中。因此我可以直接使用 test1()、test2() 访问它们,而无需将它们放入对象中的中间步骤。

我知道我们可以做到import {test1, test2} from './script1.js';,但是如果我有很多出口,那么解构就会很繁琐。

换句话说,我正在寻找的东西相当于:

import * from './script1.js';

test1();
test2();
Run Code Online (Sandbox Code Playgroud)

上面的代码块是假设的,它不起作用。

javascript

4
推荐指数
1
解决办法
3864
查看次数

Webpack 将目录中同名的所有文件输出到不同的文件夹中

我有以下目录:

  - src/
    - js/
      - profile1/
        - script1.js
        - script2.js
      - profile2/
        - script3.js
        - script4.js
      - script5.js
  - dist/
    - js/
  package.js
  webpack.config.js
Run Code Online (Sandbox Code Playgroud)

我正在尝试将所有 JS 文件打包到保留相同命名和文件夹结构的文件夹/src/js中。dist/js

我可以为每个文件编写不同的配置,并对每个 JS 文件进行 webpack,但我想知道是否有一组配置可以一次性完成所有操作。

我努力了:

const path = require('path');

module.exports = {
  entry: './src/js/*.js',
  output: {
    filename: '*.js',
    path: path.resolve(__dirname, 'dist'),
  }
}
Run Code Online (Sandbox Code Playgroud)

惨败。

javascript node.js webpack

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

然后 Firebase setCustomUserClaims

我的 Web 应用程序的后端有以下使用 Node.js 制作的代码:

admin.auth().verifyIdToken(req.body.token).then((user) => {
    admin.auth().setCustomUserClaims(user.uid, {
      identity: "ns",
      approved: false,
      reviewed: false
    }).then(() => {
      console.log(user);
    })
  })
Run Code Online (Sandbox Code Playgroud)

尽管如此,我在设置自定义用户声明后记录用户令牌。自定义用户声明approved但未reviewed出现在我的令牌中。我认为声明设置正确,但为什么它们没有出现在我的终端日志中?

javascript node.js firebase firebase-authentication firebase-admin

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

Firestore 安全规则仅允许特定字段

我正在尝试实施安全规则来限制用户只能访问文档中的特定字段。我的数据结构是这样的:

document {
  name: John,
  dob: 1994,
  email: john@hotmail.com
}
Run Code Online (Sandbox Code Playgroud)

我想将name字段限制为read, write by ownerdob字段到read by owner, create by owner; emailread by owner, update by owner

我阅读了文档,似乎我只能使用安全规则来控制特定文档的访问。它没有提到任何允许访问特定字段的内容。我应该做什么才能允许访问文档中的特定字段?

firebase firebase-security google-cloud-firestore

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

Javascript将数组的排序顺序扩展到另一个相同大小的数组

我有两个数组

[10,8,0,5,3]
[2,4,1,1,3]
Run Code Online (Sandbox Code Playgroud)

我想将第一个数组按降序排序,所以它变成了[10,8,5,3,0]. [0, 1, 2, 3, 4]排序后的第一个数组的原始索引变为[0, 1, 3, 4, 2]例如,原始数字5在第三个索引中,排序后,它来到2索引。现在,我想将排序后的索引应用于第二个数组[2,4,1,1,3],所以它变成了[2, 4, 1, 3, 1]有没有一种快速简便的方法来做到这一点?

到目前为止,我提出了 2 个解决方案:

  1. 构造一个保存键值对的对象,键是第一个数组的值,值是第二个数组,例如
{'10': 2, '8': 4, '0': 1, '5': 1, '3':3 }`
Run Code Online (Sandbox Code Playgroud)

然后根据键值对对象进行排序。然后对值进行排序,然后从对象中检索所有值。

  1. 构造一个映射,其中第一个数组的值指向第二个数组的每个值。对地图进行排序,并检索每个值。

这两种方法看起来有点复杂。我想知道是否有更简单的方法,例如利用 array.sort() 函数

javascript arrays sorting

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

React 在函数之间传递变量

我正在尝试构建这个 React 组件。addEntry 检测用户何时提交数据条目,RenderTable 应该以表行格式呈现每个条目:

import React, { useState, setState } from 'react';
import ReactDOM from 'react-dom'function 

function addEntry({ addEntryData }) {
  const data = [{
    First: "aaa",
    Last: "bbb",
    Phone: 123123
  }];
  const [contact, setContact] = useState(data);

  const submitEntry = (e) => {
    e.preventDefault();
    setContact(contact.push({
      First: e.target.userFirstname.value,
      Last: e.target.userLastname.value,
      Phone: e.target.userPhone.value
    }))
  }

  return (
    <form onSubmit={submitEntry} style={style.form.container}>
      <input 
        className='userFirstname'
        name='userFirstname' 
        type='text'
      />
      <input 
        className='userLastname'
        name='userLastname' 
        type='text' 
      />
      <input
        className='userPhone' 
        name='userPhone' 
        type='text'
      />
      <input 
        className='submitButton'
        type='submit' 
        value='Add User' 
      /> …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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