vue + webpack: SyntaxError: недопустимый диапазон в классе символов - PullRequest
0 голосов
/ 08 февраля 2019

Я работаю над webpack 4.29.3 и vue.js 2.6.3.Я только что попытался создать простой проект hello world с vue js и webpack.Я ожидал, что index.html будет отображаться хорошо.Я получаю сообщение об ошибке: SyntaxError: недопустимый диапазон в классе символов, что действительно странно, потому что я ничего не делаю с регулярным выражением.вот почему я не уверен, какую часть исправить.

vue-first.js:

import Vue from 'vue';

var app = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!'
  }
});

index.html:

<!doctype html>
<html>
 <head>
   <title>Getting Started</title>
 </head>
 <body>
   <div id="app">
     {{ message }}
   </div>
   <script src="todo.js"></script>
 </body>
</html>

webpack.config.js

const path = require('path');

module.exports = {
  entry: './src/js/vue-first.js',
  output: {
    filename: 'todo.js',
    path: path.resolve(__dirname, 'dist')
  }
};

package.json

{
  "name": "vue-first",
  "version": "1.0.0",
  "description": "",
  "private": true,
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^4.29.3",
    "webpack-cli": "^3.2.3"
  },
  "dependencies": {
    "vue": "^2.6.3"
  }
}

полное сообщение об ошибке (из Safari):

[Error] SyntaxError: Invalid regular expression: range out of order in character class
    RegExp (todo.js:7:3226)
    (anonymous function) (todo.js:7:3226)
    (anonymous function) (todo.js:7:63703)
    n (todo.js:1:115)
    (anonymous function) (todo.js:7:63775)
    n (todo.js:1:115)
    (anonymous function) (todo.js:1:904)
    Global Code (todo.js:1:912)

для получения более подробной информации, вы можете проверить мой Github .

1 Ответ

0 голосов
/ 08 февраля 2019

Похоже, вам нужно, по крайней мере, указать сборку mode и сказать Webpack использовать встроенную оптимизацию и добавить alias дляVue.

const path = require('path');

module.exports = {
  mode: 'development',

  entry: './src/js/vue-first.js',
  output: {
    filename: 'todo.js',
    path: path.resolve(__dirname, 'dist')
  },

  resolve: {
    alias: {
      'vue$': 'vue/dist/vue.js'
    }
  }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...