小编pom*_*421的帖子

在带有导入模块的 Chrome 开发工具中看不到手表表达式

我正在使用 webpack 和 babel 并尝试使用 ES2015 模块。

当我使用调试工具(Chrome v65 的 chrome dev 工具)时,似乎无法观察表达式,但是将鼠标悬停在表达式上时,会显示该值。

# url.js
export default {
    "dac": "http://10.75.10.10:9000/api",
}
Run Code Online (Sandbox Code Playgroud)

另一方面 :

# index.js
import urlEnv from "./url"
Run Code Online (Sandbox Code Playgroud)

我在这个文件中添加了一个断点。有趣的是,源映射正在运行,并且放置断点的行受到了很好的尊重。

这是屏幕到达时的样子:

铬开发工具

如您所见,将鼠标悬停在表达式上显示找到了 urlEnv.dac。但是在 Watch 面板上, urlEnv 没有定义。在控制台上,同样的事情发生。

您有解决方案或解决方法吗?

更糟糕的是,当我尝试通过远程调试在 Android 上进行调试时。在我的 Android 5.0 设备上,即使是鼠标也无法显示表达式的值。

我的 webpack.config.js 看起来像:

module.exports = {
  entry: "./src/index.js",
  output: {
    path: path.resolve(__dirname, "www"),
    filename: "app.js"
  },
  devtool: "inline-source-map",
Run Code Online (Sandbox Code Playgroud)

javascript debugging google-chrome webpack babeljs

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

在Android设备上的Ionic 2中不显示Typescript源图

我面临着一种奇怪的Ionic2行为.当我将我的应用程序部署到模拟器时,我可以在chrome检查调试器中看到.ts文件sourceMap.

在这两种情况下,我使用:

ionic run android
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

另一方面,当我在真实设备上部署我的apk时,选项卡"Sources"与其他目录组完全不同,并且没有引用我的.ts文件.

在此输入图像描述

我的环境是:

  • OS X 10.11
  • Ionic 2 2.0.0-beta.35
  • 科尔多瓦6.3.0

该项目最初由以下人员生成:

ionic start biblio tutorial --v2
Run Code Online (Sandbox Code Playgroud)

ionic.config.json

{
  "name": "biblio",
  "app_id": "",
  "v2": true,
  "typescript": true
}
Run Code Online (Sandbox Code Playgroud)

tsconfig.json

 {
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true
  },
  "filesGlob": [
    "**/*.ts",
    "!node_modules/**/*"
  ],
  "exclude": [
    "node_modules",
    "typings/global",
    "typings/global.d.ts"
  ],
  "compileOnSave": false,
  "atom": {
    "rewriteTsconfig": false
  }
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

android google-chrome source-maps typescript ionic2

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

setState没有正确更新状态

对不起,我真的很想念React中子组件state内部的传输props.

我已经实现了一个包含3个组件的todo列表的版本.

有一个Form组件和一个ListTodo组件.状态仅存储在App组件中.

import React, {Component} from 'react';
import './App.css';

class App extends Component {

    constructor(props) {
        super(props);
        this.state = {
            tasks: ["un truc", "autre truc"]
        };
        this.addTask = this.addTask.bind(this);
    }

    addTask(task) {
        this.setState({
            tasks: this.state.tasks.push(task)
        })
    }

    render() {
        return (
            <div className="App">
                <Form onTaskAdded={ this.addTask }></Form>
                <ListTodo tasks={ this.state.tasks }></ListTodo>
            </div>
        );
    }
}

class Form extends Component {

    constructor(props) {
        super(props);
        this.state = {
            task: ""
        } …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

如何在 React Hook 表单中将输入单选的值转换为布尔值?

我在 React Hook Form 中输入了 radio,我尝试将其用作真正的布尔值,而不是字符串。

\n

我知道 RHF 必须valueAsNumber将其转换为数字。我认为这setValueAs是允许任何转换的通用方法,但我无法使其工作。

\n

代码沙盒

\n
\nconst schema = z.object({\n  name: z.string().min(4, { message: "4 caract\xc3\xa8res minimum pour le name" }),\n  developer: z.boolean() // A real boolean is expected here\n});\n\nexport default function App() {\n  const {\n    register,\n    handleSubmit,\n    watch,\n    formState: { errors }\n  } = useForm({\n    resolver: zodResolver(schema),\n    defaultValues: {\n      name: "John",\n      developer: false // default as boolean\n    }\n  });\n\n  return (\n    <form onSubmit={handleSubmit(onSubmit)} noValidate>\n      <input type="text" placeholder="Name" {...register("name")} …
Run Code Online (Sandbox Code Playgroud)

reactjs react-hook-form

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

为什么Node.js中的console.log会干扰变量的排列?

我对Node(v8.5.0)如何解释这段代码感到非常惊讶:

var a = 5;
var b = 10;

console.log('a = ' + a)
console.log('b = ' + b)

[a, b] = [b, a];

console.log(a);
console.log(b);
Run Code Online (Sandbox Code Playgroud)

回应是

[a, b] = [b, a];
   ^

TypeError: Cannot set property '10' of undefined
    at Object.<anonymous> (/Users/pom/lab/ES6-tests/destructuring.js:25:8)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Function.Module.runMain (module.js:665:10)
    at startup (bootstrap_node.js:201:16)
    at bootstrap_node.js:626:3
Run Code Online (Sandbox Code Playgroud)

如果我只在console.log中保留var,则显示正确

console.log(a)
console.log(b)

[a, b] = [b, a];
Run Code Online (Sandbox Code Playgroud)

这是做什么的?

javascript node.js

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

如何手动初始化 next.js 应用程序(用于测试目的)?

我尝试测试托管在 Next.js 应用程序中的 Web 服务,但出现错误,未找到 Next.js 配置。

我的网络服务是常规的,存储在pages/api目录中。ATTACKS_ENDPOINT由于这个文件,我的 API 测试获取了一个常量:

/pages/api/测试/api.spec.js

import { ATTACKS_ENDPOINT } from "../config"

...

describe("endpoints", () => {
   beforeAll(buildOptionsFetch)

   it("should return all attacks for attacks endpoint", async () => {
      const response = await fetch(API_URL + ATTACKS_ENDPOINT, headers)
Run Code Online (Sandbox Code Playgroud)

配置文件

import getConfig from "next/config"

const { publicRuntimeConfig } = getConfig()

export const API_URL = publicRuntimeConfig.API_URL
Run Code Online (Sandbox Code Playgroud)

我的 next.config.js 存在并且应用程序启动时可以正确使用。

当测试运行时,抛出此错误

    TypeError: Cannot destructure property `publicRuntimeConfig` of 'undefined' or 'null'.

  1 | import …
Run Code Online (Sandbox Code Playgroud)

testing next.js

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

如何调试Cordova的钩子?

我想知道是否有可能在Cordova中调试javascript钩子?

我的钩子在准备之前被触发.我的命令是

cordova prepare ios
Run Code Online (Sandbox Code Playgroud)

我目前使用Visual Studio Code,并且有一个插件"Cordova工具"来在运行时调试应用程序.但我需要在构建时进行调试.

任何推荐?

PS:我的意思是调试是真正的调试,也就是说有断点和变量显示等.

javascript debugging cordova visual-studio-code

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