小编qiu*_*tao的帖子

如果文件名为jsx,webpack找不到模块

正如我写这样的webpack.config.js

module.exports = {
  entry: './index.jsx',
  output: {
    filename: 'bundle.js'
  },
  module: {
    loaders: [{
      test: /\.jsx?$/,
      exclude: /node_modules/,
      loader: 'babel',
      query: {
        presets: ['es2015', 'react']
      }
    }]
  }
};
Run Code Online (Sandbox Code Playgroud)

index.jsx我导入一个react模块App

import React from 'react';
import { render } from 'react-dom';

import App from './containers/App';

let rootElement = document.getElementById('box')
render(
  <App />,
  rootElement
)
Run Code Online (Sandbox Code Playgroud)

我发现如果我将模块app命名为App.jsx,那么webpack会说index.jsx无法找到模块App,但是如果我命名为命名模块app App.js,它会找到这个模块并且运行良好.

所以,我对此感到困惑.在我webpack.config.js,我已经写test: /\.jsx?$/了检查文件,但为什么命名*.jsx无法找到?

在此输入图像描述

reactjs webpack webpack-dev-server

88
推荐指数
4
解决办法
5万
查看次数

Babel编译错误:找不到模块core-js/library/fn/get-iterator

这是我的目录结构:

????demo
?   ????entry
?   ?   ????index.js
?   ?   ????tap.js
?   ?   ????util.js
?   ????node_modules
?   ????index.html
?   ????package.json
?   ????webpack.config.js
????src
?   ????tap.js
?   ????util.js
????index.js
????package.json
Run Code Online (Sandbox Code Playgroud)

demo/entry/index.js我有

import tap from '../../src/tap';
Run Code Online (Sandbox Code Playgroud)

编译时,babel会抛出错误

ERROR in ../src/tap.js
Module build failed: Error: Cannot find module 'core-js/library/fn/get-iterator'
Run Code Online (Sandbox Code Playgroud)

但是如果我像这样导入它就有效

import tap from './tap';
Run Code Online (Sandbox Code Playgroud)

该文件./tap.js../../src/tap是相同的.

是问题node_modules吗?因为在demo目录中,babel和其他任何东西都在node_modules,所以我可以import任何我喜欢的文件.但是src/tap.js没有像这样的父或兄弟目录node_modules,所以它会触发这个错误.

javascript node.js node-modules babeljs

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

为什么不能使用addEventListener停止contextmenu事件?

我想禁止鼠标右键。但是我发现如果我这样写:

document.addEventListener('contextmenu', function(event) {
    return false;
}, false);
Run Code Online (Sandbox Code Playgroud)

它将不起作用,该事件仍将起作用。

但是如果我这样写

document.oncontextmenu = function() {
    return false;
}
Run Code Online (Sandbox Code Playgroud)

鼠标右键将不起作用。

我想知道为什么我无法addEventListener停止活动contextmenu

javascript javascript-events

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

为什么eslint无法检测目录中的所有文件,但可以检测单个文件?

这是我的目录结构.

在此输入图像描述

我想配置一些eslint规则来检测我的代码.

.eslintrc,我写这些配置项.

{
  "extends": "airbnb",
  "rules": {
    "valid-jsdoc": 2,
    // Disable until Flow supports let and const
    "no-var": 0,
    "react/jsx-uses-react": 1,
    "react/jsx-no-undef": 2,
    "react/wrap-multilines": 2,
    "func-names": 0,
    "new-cap": 0,
    "no-undef": 0,
  },
  "plugins": [
    "react"
  ]
}
Run Code Online (Sandbox Code Playgroud)

我用npm脚本来运行eslint.

  "scripts": {
    "lint": "eslint src"
  },
Run Code Online (Sandbox Code Playgroud)

通常,当我运行时npm run lint,它将检测src目录中的所有文件.

但是,遗憾的是,没有任何输出.

在此输入图像描述

我不知道为什么.我想也许我写了错误的配置项.但是在我编写npm脚本之后"lint": "eslint src/component/App.jsx",eslint会起作用.

那问题出在哪里?Eslint可以很好地检测单个文件,但它无法检测某些目录中的所有文件.

在此输入图像描述

javascript npm eslint

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

为什么 0 &amp;&amp; true echo 0 在 js 中?

如题

我所知

(if this part is true) && (this part will execute)

if(condition){
   (this part will execute)
}
Run Code Online (Sandbox Code Playgroud)

0 是假的,那么为什么不回显假而是 0?

在此处输入图片说明

javascript

5
推荐指数
3
解决办法
1937
查看次数

如何修复有关命名空间的 ts lint 错误?

我已经用 in ts 编写了 js 代码。但现在我有一些 lint 错误链接。

  4:1  error  ES2015 module syntax is preferred over custom TypeScript modules and namespaces  typescript/no-namespace
  4:1  error  Use 'namespace' instead of 'module' to declare custom TypeScript modules         typescript/prefer-namespace-keyword
Run Code Online (Sandbox Code Playgroud)

我已经这样声明了

declare global {
  interface Window {
    aa: any;
  }
}
Run Code Online (Sandbox Code Playgroud)

和使用like一样,就可以了,但是只是调用lint错误

if (typeof window.aa !== 'undefined') {
  // dosth
}
Run Code Online (Sandbox Code Playgroud)

我无法理解错误消息,并且我已阅读文档,但仍然对其感到困惑

typescript eslint tslint

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

如果我设置display:block或inline,那么<div>和<span>之间有什么不同?

<div style="display: inline"></div>
<span></span>

<div></div>
<span style="display:block></span>

<div style="display: inline-block"></div>
<span style="display: inline-block"></span>
Run Code Online (Sandbox Code Playgroud)

如果我这样写,那么<div>和之间有什么不同<span>

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

浏览器如何在没有<table>的情况下分析<tr> <td>?

<table border="1">
    <tbody>
        <tr>
            <td>1</td>
            <td>2</td>
        </tr>
        <tr>
            <td>3</td>
            <td>4</td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

如果我写这个,浏览器将正常分析.

<!-- <table border="1"> -->
    <tbody>
        <tr>
            <td>1</td>
            <td>2</td>
        </tr>
        <tr>
            <td>3</td>
            <td>4</td>
        </tr>
    </tbody>
<!-- </table> -->
Run Code Online (Sandbox Code Playgroud)

但是我这样写,我发现浏览器会分析它们而没有像字符串这样的标签.

<tbody>
    <tr>
        <td>1</td>
        <td>2</td>
    </tr>
    <tr>
        <td>3</td>
        <td>4</td>
    </tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)

是一样的

1 2 3 4
Run Code Online (Sandbox Code Playgroud)

html html-table

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

为什么我在野生动物园和Chrome中使用JSON.stringify来对JSON进行字符串化得到不同的结果?

我只是单纯地使用JSON.stringify({"a": "123"})stringify一个json

在chrome中,"分号将不会被转义,它将回显

JSON.stringify({"a": "123"})
"{"a":"123"}"
Run Code Online (Sandbox Code Playgroud)

但是如果我在野生动物园中使用相同的代码,"分号将被转义,就像这样

JSON.stringify({"a": "123"})
"{\"a\":\"123\"}"
Run Code Online (Sandbox Code Playgroud)

我想知道为什么chrome和safari产生不同结果的原因

javascript json

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