Я обновил vue до версии 2.6.0, и в консоли браузера появилось следующее сообщение об ошибке:
SyntaxError: invalid range in character class vue.runtime.esm.js:495
2b0e/< vue.runtime.esm.js:495
2b0e vue.runtime.esm.js:1
s bootstrap:78
56d7 ExportTable.vue:1:556
s bootstrap:78
[0] bootstrap:151
s bootstrap:78
n bootstrap:45
<anonymous> bootstrap:151
<anonymous> https://mywebsite.com:8443/js/app.ee42fe22.js:1:2
Мой бэкэнд - Spring Boot
.Я создаю интерфейс, запустив npm run build
и скопировав его в папку ресурсов моего Spring Boot
, настроенного с помощью pom.xml
.
Перед обновлением до 2.6.0 я был на 2.5.22 и все работало отлично.Чтобы попытаться сузить проблему, я попробовал много вещей, которые были пустой тратой времени, но я заметил, что, когда я удалил блок <style>...</style>
файла ExportTable.vue
, в котором я получал ошибку,ошибка больше не будет появляться в ExportTable.vue
и вместо этого будет отображаться в родительском компоненте.
<style>
.title-search {
margin-top: 30px;
margin-bottom: 30px;
padding-left: 35px;
}
#hiddenDailyLimitFld {
color: #c21232;
background-color: #f9dede;
border: 1px solid #c21232;
padding: 8px 5px;
margin-bottom: 15px;
border-radius: 2px;
display: inline-block;
width: 100%;
box-sizing: border-box;
font-weight: 500;
}
.content-searchLinkBtn {
position: relative;
padding-right: 35px;
overflow: auto;
width: 100%;
box-sizing: border-box;
}
.newSearchBtn {
color: #ffffff;
background-color: #4679b2;
width: 8em;
font-weight: 600;
cursor: pointer;
border: 1px solid transparent;
padding: 6px 12px;
font-size: 13px;
border-radius: 3px;
float: right;
}
</style>
Я также попытался удалить каждый блок выбора css 1 на 1 и построить / развернуть в производство, чтобы увидеть, было ли этоконкретный блок CSS, который вызывал его, но ошибка продолжала появляться, пока я не удалил все блоки CSS и сами теги <style>...</style>
.
Странно то, что я получаю его только при развертывании впроизводство с помощью команды npm run build
.Мой package.json
выглядит так, как будто он выполняет правильные команды в соответствии с этим блоком:
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
Когда я использую vue-cli3 для "подачи" в меню задач, которое выглядит так, как будто он запускает команду $ vue-cli-service serve --mode development --dashboard
, ошибок нет и все работает отлично.Я попытался развернуть Prod с vue-cli-service build --mode development
, и он работал нормально, так что похоже, что есть проблема, когда он минимизируется или собирается для производства.
Я думаю, что это может быть связано с этой проблемой с 2016 года:https://github.com/vuejs/vue/issues/2291
ОБНОВЛЕНИЕ: Вот мой main.js
файл:
import './plugins/vuetify'
import '@/resources/css/global.css'
import '@/resources/css/font-awesome-4.7.0/css/font-awesome.css'
import Vue from 'vue';
import App from './App';
import Error from '@/view/Error/Error.vue';
import router from './router.js';
import store from './store.js'
import rest from '@/services/RestService.js';
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome';
import './resources/js/font-awesome.js'
Vue.component('font-awesome-icon', FontAwesomeIcon);
Vue.config.productionTip = true;
Vue.config.devtools = true;
var vue_opts = { el: '#app', render: h => h(Error) };
rest.check().then((response) => {
if (response.user) {
vue_opts.render = h => h(App);
vue_opts.router = router;
vue_opts.store = store;
}
new Vue(vue_opts);
})
.catch((res) => {
new Vue(vue_opts);
});