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

问题描述 投票:0回答:2

我正在尝试将protoc生成的一些协议缓冲区代码用于javascript。我得到了一些可以导入(选择commonjs样式之后)其他JavaScript文件的JavaScript文件。

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

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

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

最终目标是,我希望所有npm i和所有import { Foo } from 'foo.js'都能在网页上正常运行。

使用HTMLWebpackPlugin注入的Webpack是:

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

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

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>...
javascript webpack protocol-buffers google-closure-compiler
2个回答
1
投票

尝试在下面将您的正则表达式更新为该正则表达式:

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

您的元标记是这样的吗?<meta charset="utf-8">with this charset


0
投票

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

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

google-protobuf版本:3.11.2

index.js

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

build command

npx webpack index.js -o bundle.js

index.html

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

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

{Map: ƒ, Message: ƒ, BinaryReader: ƒ, BinaryWriter: ƒ, ExtensionFieldInfo: ƒ, …}
© www.soinside.com 2019 - 2024. All rights reserved.