小编Max*_*888的帖子

构造函数内部与外部的 JavaScript 类属性

我正在努力理解在构造函数内部和外部定义属性之间的区别。在下面的示例中,两个属性都可以在实例上以相同的方式访问,有什么区别?

class Foo {
  constructor() {
    this.bar = 1;
  }
  baz = 1;
}
const foo = new Foo();
console.log(foo.bar, foo.baz); // 1 1
Run Code Online (Sandbox Code Playgroud)

javascript es6-class

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

Javascript在三元运算符中使用单个等待

我有一种情况,我想在三元运算符中使用 await。我想根据条件将值设置为字面值或承诺的解析值。希望下面的代码能帮助描述我想要做什么,但我很确定它不正确,所以考虑它是伪代码。

const val = checkCondition ? "literal value" : await promiseGetValue();
Run Code Online (Sandbox Code Playgroud)

其中 promiseGetValue() 返回一个解析为文字值的承诺。这样做的正确方法是什么?

javascript conditional-operator async-await es6-promise

9
推荐指数
2
解决办法
2217
查看次数

Python 的 C 和 C++ 库如何跨平台?

许多Python 的库,例如Pandas 和Numpy,实际上是C 或C++,并带有Python 包装器。我没有编译语言的经验,也不明白这些库如何跨平台(即在Mac、Windows、Linux上运行),因为我的理解是C和C++需要针对特定​​操作系统进行编译。这是如何运作的?

编辑:
如何为不同操作系统/Python 版本编译 Python C/C++ 扩展?没有回答我的问题,因此这不是重复的。这个问题是关于理解它是如何工作的,这个问题假设了这种理解并且是关于实现的。

c c++ python

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

Firebase 弹出登录弹出窗口被用户关闭错误

我正在尝试使用 Javascript 客户端库进行 Firebase 身份验证,以使用 Google 帐户和弹出窗口登录。但是,当我尝试登录时,会弹出登录窗口,我选择我的 Google 帐户,然后加载大约 10 秒(蓝色进度条移动),然后弹出窗口关闭,不久后我得到以下错误消息:

code: "auth/popup-closed-by-user"
message: "The popup has been closed by the user before finalizing the operation."
Run Code Online (Sandbox Code Playgroud)

我已在 Firebase Web UI 的身份验证部分启用 Google 登录。下面是我正在使用的代码,它几乎是直接从 Firebase 文档复制的。我没有对项目配置进行其他更改。我启动了一个新项目只是为了测试这个,并简单地运行firebase init,仅启用托管,并在身份验证 Web UI 中启用 Google 登录。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>Welcome to Firebase Hosting</title>

    <script src="/__/firebase/7.14.6/firebase-app.js"></script>
    <script src="/__/firebase/7.14.6/firebase-auth.js"></script>
    <script src="/__/firebase/init.js"></script>
  </head>
  <body>
    <button id="signin">sign in</button>
    <button id="signout">sign out</button>
    <script>
      const provider = new firebase.auth.GoogleAuthProvider();
      const …
Run Code Online (Sandbox Code Playgroud)

javascript firebase firebase-authentication google-signin

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

Google API 获取 Doc 的详细修订历史记录

我可以使用下面的内容(使用 google-drive3 Rust 箱)获得 Google 文档的修订列表,它为我提供了 Google Drive 中选定文件的“活动”选项卡中的信息。然而,我想要从打开的 Google 文档中访问的详细版本历史记录,其中包含文件 -> 版本历史记录 -> 查看版本历史记录。除了 Google Drive 中显示的信息之外,这还显示了修订版与文档的哪些部分相关。是否可以从 Google Drive API 或 Google Docs API 访问此更详细版本历史记录的数据?

let hub = google_drive3::DriveHub::new(
    google_docs1::hyper::Client::builder().build(
        google_docs1::hyper_rustls::HttpsConnectorBuilder::new()
            .with_native_roots()
            .https_or_http()
            .enable_http1()
            .enable_http2()
            .build(),
    ),
    auth,
);
let activity = hub
    .revisions()
    .list("<document id>")
    .doit()
    .await;
for rev in activity.unwrap().1.revisions.unwrap() {
    dbg!(rev);
}
Run Code Online (Sandbox Code Playgroud)

google-api google-docs google-docs-api rust google-drive-api

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

是什么促使 chrome devtools 寻找源映射

我收到警告,例如DevTools failed to load SourceMap: Could not parse content for http://localhost:8000/index.js.map: Unexpected token < in JSON at position 0chrome 正在尝试获取不存在的源映射。为什么 chrome 决定在这种情况下应该有一个源映射,我怎样才能阻止它这样做?

javascript google-chrome-devtools

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

在 Flask 中使用 root_path 参数

我尝试遵循一个教程,该教程旨在演示如何更改静态和模板文件夹在根目录中的位置。但是我无法让这个例子工作。应用程序运行正常,但在查找样式表“GET /static/style.css HTTP/1.1”404 时返回 404。因此,它似乎可以找到模板,但找不到样式表。

我的“你好世界”示例如下。我应该使用root_path,还是instance_path或template_folder和static_folder?

api_files
  static
    style.css
  templates
    index.html
api.py
Run Code Online (Sandbox Code Playgroud)

api.py from Flask 导入 Flask, render_template, url_for

# here we can set a different root path
app = Flask(__name__, root_path='api_files/')

@app.route('/')
def index():
    """Render home page."""
    return render_template('index.html')  # we can render templates as usual

if __name__ == '__main__':
    app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)

索引.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8"/>
    <link rel= "stylesheet" type= "text/css" href= {{ url_for('static', filename='style.css') }}>
</head>
<body>
  hello world
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

样式.css

body {
  color: red; …
Run Code Online (Sandbox Code Playgroud)

python flask

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

JavaScript 向对象添加隐藏数据

假设我有一个对象,例如:

const myObj = { color: 'red', score: 8 };
Run Code Online (Sandbox Code Playgroud)

我可以通过以下方式访问这些属性:

myObj.color // 'red'
Run Code Online (Sandbox Code Playgroud)

和:

Object.values(myObj) // ['red', 8]
Run Code Online (Sandbox Code Playgroud)

我希望能够在对象中存储额外的数据,这是可访问的,但不会被Object.values()例如找到:

myObj.greeting // "hello"
// or alternatively
myObj.greeting() // "hello"
Object.values(myObj // ['red', 8] greeting is not picked up by Object.values()
Run Code Online (Sandbox Code Playgroud)

如有必要,最好使用现代 JavaScript 之类的类,而不是直接使用原型。

javascript object

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

无需模块捆绑器即可导入 Web 组件

我正在尝试遵循这些使用 Web 组件的说明。我安装了聚合物纸按钮npm install --save @polymer/paper-button,将以下内容添加到我的index.html 中,并使用 vscode 的实时服务器打开它。但我收到控制台错误:Uncaught TypeError: Failed to resolve module specifier "@polymer/iron-flex-layout/iron-flex-layout.js". Relative references must start with either "/", "./", or "../".。我想在不使用像 webpack 这样的模块捆绑器的情况下解决这个问题。

<script type="module" src="node_modules/@polymer/paper-button/paper-button.js"></script>
...
<paper-button raised class="indigo">raised</paper-button>
Run Code Online (Sandbox Code Playgroud)

javascript web-component polymer polymer-3.x

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

确保参数是编译时定义的字符串文字

为了防止 SQL 注入的风险,我想创建一个 API,其中的函数只接受编译时字符串文字作为输入,例如"SELECT * FROM MYTABLE;""WHERE price > 10"等。然后该函数可以执行所需的字符串连接,生成Stringsql 语句并执行它。这将是执行 SQL 的唯一方法,因此它保证 SQL 语句仅从开发人员定义的 SQL 位创建,并且任何不受信任的用户输入都必须映射到字符串文字。这消除了用户输入最终出现在 SQL 语句中的任何可能性。这可能吗?

string sql-injection string-literals rust

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