Vue 2.0设置路线 – 不要使用“新”的副作用

我正在configuration一个vue项目。 我使用了webpack模板。 (npm install init webpack)。 我在terminal出现错误 –

ERROR in ./src/main.js ✘ http://eslint.org/docs/rules/no-new Do not use 'new' for side effects /Users/uz067252/Documents/Development/Vue/workex/vue-project/src/main.js:21:1 new Vue({ ^ ✘ 1 problem (1 error, 0 warnings) Errors: 1 http://eslint.org/docs/rules/no-new 

这是main.js

 import Vue from 'vue' import App from './App.vue' import Hello from './components/Hello.vue' import VueRouter from 'vue-router' import VueResource from 'vue-resource' // We want to apply VueResource and VueRouter // to our Vue instance Vue.use(VueResource) Vue.use(VueRouter) // Pointing routes to the components they should use var router = new VueRouter({ routes: [ { path: '/hello', component: Hello }, { path: '*', redirect: '/hello' } ] }) new Vue({ el: '#app', router: router, render: h => h(App) }) 

谢谢

该错误来自您的eslint代码格式化程序,而不是来自Vue.js本身。

您的webpack环境被configuration为validation代码,然后构build并启动您的应用程序。 这样做的时候,你的信条就会发出警告。

为了避免这种情况,请按如下操作(在main.js文件的最后5行):

 new Vue({ // eslint-disable-line no-new el: '#app', router: router, render: h => h(App) }) 

你在做什么,只是在上面的行禁用eslint警告。 现在你的webpack将正常启动你的应用程序。

另一个选项是在.eslintrc.js (在项目根文件夹中)设置规则,您可以在其中指定no-new应该忽略no-new规则。 (在这种情况下不推荐)

你没有把new Vue(...)语句的值赋值给任何东西。

new语句创build一个对象的新实例。 通常这个实例被分配给一个variables。 如果你不把实例赋值给一个variables,那么它就是垃圾回收。

因为你没有提及新的实例,所以linter假设你依赖于操作的副作用,这是一个不好的做法。 如果new操作修改了一个全局variables的值,副作用的一个例子是。