繁体   English   中英

无效的正则表达式 :: 字符类中的范围乱序

[英]Invalid regular expression:: Range out of order in character class

我正在尝试使用protoc为 javascript 生成的一些协议缓冲区代码。 我有一些 javascript 文件,我可以将它们导入(在选择commonjs样式后)到其他 javascript 文件中。

我已经安装了一个名为google-protobuf的 npm 依赖google-protobuf并且能够将所有 javascript 与 webpack 捆绑在一起。 当我尝试在 Firefox 中运行页面时,我没有收到与此相关的错误,但是 chrome 给了我:

Invalid regular expression: /[Ö‘-Û¯Ûº-ࣿâ€�-��-�ï¬-ï·¿ï¹°-ﻼ]/: Range out of order in character class

我试过向<meta><script>添加一些额外的标签,但它们不起作用。 我从未见过这样的错误,也不知道从哪里开始寻找。

最终目标是,我希望我所有的npm i和我所有的import { Foo } from 'foo.js'都能在网页上正常工作而不会出错。

使用HTMLWebpackPlugin注入的HTMLWebpackPlugin是:

<script type="text/javascript" src="frontseat.bundle.js"></script>

最初没有<meta>标签,我只是在头下添加了一个,所以它看起来:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>...

尝试将您的正则表达式更新为以下正则表达式:

[Ö‘\-Û¯Ûº-ࣿâ€�-��-�ï¬-ï·¿ï¹°-ﻼ]

而你的元标签是这样的? <meta charset="utf-8">使用这个字符集

我遇到了与您相同的问题。我无法将 google-protobuf 升级到3.6.1 以前只有 3.6.1 版对我有用。 3.6.1 以后的所有版本都会在我的项目中引发相同的错误。

但是, <meta charset="utf-8">现在对我有帮助。 我创建了一个最小样本,希望它能给你一些想法。

google-protobuf 版本: 3.11.2

索引.js

import * as pb from 'google-protobuf';
console.log(pb);

构建命令

npx webpack index.js -o bundle.js

索引.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <script src="bundle.js"></script>
    </head>
</html>

然后,您应该能够在 chrome devtools 控制台上看到类似的内容而不会出现错误。

{Map: ƒ, Message: ƒ, BinaryReader: ƒ, BinaryWriter: ƒ, ExtensionFieldInfo: ƒ, …}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM