小编leg*_*ogo的帖子

ESlint:如何忽略解析错误:无效的正则表达式标志

我正在创建一个 Chrome 扩展程序。我想编写一个匹配字符串的代码,包括\n如下所示:

var s = "a\nb";
console.log(s.match(/a.*b/s)); // prints non-null
Run Code Online (Sandbox Code Playgroud)

我使用该s标志是因为它可以在 Chrome 67.0.3396.99 上运行。然而,这个标志没有在标准 Javascript 中定义,所以 ESlint 说

2:22  error  Parsing error: Invalid regular expression flag
Run Code Online (Sandbox Code Playgroud)

有什么办法可以忽略这一点吗?我// eslint-disable-line no-invalid-regexp在我的代码中尝试过

"no-invalid-regexp": ["error", { "allowConstructorFlags": ["s"] }],
Run Code Online (Sandbox Code Playgroud)

在我的 .eslintrc.json 中,但两者都不起作用(似乎它仅适用于RegExp构造函数而不适用于正则//表达式)。

我尝试过// eslint-disable-line/* eslint-disable */但也没成功。

ESlint 文档中,

注意:禁用文件部分警告的注释告诉 ESLint 不要报告禁用代码的规则违规行为。然而,ESLint 仍然解析整个文件,因此禁用的代码仍然需要是语法上有效的 JavaScript。

所以这个s标志被认为是无效的Javascript。难道真的无法忽略这个错误吗?或者这可以被插件或其他东西忽略吗?

javascript regex google-chrome google-chrome-extension eslint

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

webpack和babel-polyfill:无法在源目录中解析“ core-js / modules / es6.array.map”

我执行时遇到此错误webpack

Module not found: Error: Can't resolve 'core-js/modules/es6.array.map' in '/path/to/project/src'
 @ ./src/index.ts 1:0-39
Run Code Online (Sandbox Code Playgroud)

index.ts

console.log([1, 2, 3].map(x => x * x));
Run Code Online (Sandbox Code Playgroud)

.babelrc

{
  "presets": [
    [
      "@babel/preset-env",
      {
        "useBuiltIns": "usage"
      }
    ]
  ]
}
Run Code Online (Sandbox Code Playgroud)

webpack.config.js

const path = require('path');

module.exports = {
  mode: 'development',

  entry: './src/index.ts',
  devtool: false,
  output: {
    filename: 'bundle.js',
    path: path.join(__dirname, 'dist')
  },
  module: {
    rules: [
      {
        test: /\.ts$/,
        use: [
          { loader: 'babel-loader' },
          { loader: 'ts-loader' }
        ]
      } …
Run Code Online (Sandbox Code Playgroud)

javascript node.js typescript webpack babel-polyfill

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