Неверное регулярное выражение :: Диапазон не в порядке в классе символов - PullRequest
0 голосов
/ 25 января 2020

Я пытаюсь использовать некоторый буферный код протокола, сгенерированный с protoc для javascript. У меня есть javascript файлы, которые я могу импортировать (после выбора стиля commonjs) в другие javascript файлы.

Я установил зависимость npm с именем google-protobuf и могу объединить все javascript с веб-пакетом. Когда я пытаюсь запустить страницу в firefox, я не получаю ошибок, связанных с этим, однако chrome дает мне:

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

Я пытался добавить некоторые дополнительные теги к <meta> и <script> и они не работают. Я никогда не видел такую ​​ошибку и не знаю, с чего начать.

Конечная цель - я бы хотел, чтобы все мои npm i и все мои import { Foo } from 'foo.js' работали на веб-странице без ошибок.

Какой веб-пакет введен с помощью HTMLWebpackPlugin:

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

Изначально нет тегов <meta>, я просто добавил один под головой, чтобы он выглядел:

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

Ответы [ 2 ]

1 голос
/ 25 января 2020

Попробуйте обновить свое регулярное выражение до этого регулярного выражения ниже:

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

А ваш метатег такой? <meta charset="utf-8"> с этой кодировкой

0 голосов
/ 28 января 2020

У меня та же проблема, что и у вас. Я не могу обновить 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);

команда построения

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: ƒ, …}
...