正如我写这样的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无法找到?
这是我的目录结构:
????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,所以它会触发这个错误.
我想禁止鼠标右键。但是我发现如果我这样写:
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。
这是我的目录结构.
我想配置一些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可以很好地检测单个文件,但它无法检测某些目录中的所有文件.
如题
我所知
(if this part is true) && (this part will execute)
if(condition){
(this part will execute)
}
Run Code Online (Sandbox Code Playgroud)
0 是假的,那么为什么不回显假而是 0?
我已经用 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)
我无法理解错误消息,并且我已阅读文档,但仍然对其感到困惑
<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>
<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) 我只是单纯地使用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 ×5
eslint ×2
babeljs ×1
html ×1
html-table ×1
json ×1
node-modules ×1
node.js ×1
npm ×1
reactjs ×1
tslint ×1
typescript ×1
webpack ×1