# webapp **Repository Path**: xue5hen/webapp ## Basic Information - **Project Name**: webapp - **Description**: No description available - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-10-26 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # webapp > A Vue.js project ## Build Setup ``` bash # install dependencies vue init webpack my-project yarn install yarn add vuex yarn add axios yarn add babel-polyfill yarn add mint-ui yarn add --dev node-sass yarn add --dev sass-loader yarn add --dev pug yarn add --dev pug-loader # Error: Modele build failed: TypeError: this.getResolve is not a function at Object.loader... 因为当前sass的版本太高,webpack编译时出现了错误,需要换成低版本的,找到package.json文件,将"sass-loader": "^8.0.0"更换成 "sass-loader": "^7.3.1"即可。 # Error: { parser: "babylon" } is deprecated; we now treat it as { parser: "babel" }. 找到你的工程文件夹里的 node_modules/vue-loader/lib/template-compiler/index.js // 将代码 if (!isProduction) { code = prettier.format(code, { semi: false, parser: 'babylon' }) } // 修改为: if (!isProduction) { code = prettier.format(code, { semi: false, parser: 'babel' }) } # Error: IE下报 [vuex] vuex requires a Promise polyfill in this browser 因为使用了 ES6 中用来传递异步消息的的Promise,而IE浏览器都不支持。 // 第一步:安装 babel-polyfill。 // 第二步:在 webpack.config.js 文件中使用。 将entry中的 `app:'./src/main.js'` 替换为 `app:["babel-polyfill", "./src/main.js"]` # Error: [Vue warn]: Invalid component name: "". Component names should conform to valid custom element name in html5 specification. 无效的组件名称。 # Error: [Vue warn]: Error in created hook: "TypeError: 对象不支持“remove”属性或方法". IE浏览器不支持 `domNode.remove()`,需用 `domNode.parentNode.removeChild(domNode)` 代替。 # Error: Uncaught (in promise) NavigationDuplicate{_name: "NavigationDuplicated"}. 原因:vue-router ≥3.0版本的回调改成promise api的形式了,若路由地址跳转相同,且没有捕获到错误,控制台始终会出现该警告。 方案一:使用vue-router3.0以下的版本 方案二:针对于路由跳转相同的地址添加catch捕获一下异常:this.$router.push('/location').catch(err => { console.log(err) }) 方案三:在main.js注册一个全局函数即可 import Router from 'vue-router' const originalPush = Router.prototype.push Router.prototype.push = function push(location) { return originalPush.call(this, location).catch(err => err) } ```