vue開發的項目中遇到的警告,報錯,配置項目文件等合集(長期更新)


1. Vue組件里面data()里面沒有return時觸發錯誤:Vue components Cannot read property '__ob__' of undefined

這個警告不解決會觸發錯誤:

2. Vue項目開啟局域網訪問

有的項目比如移動端需要在手機上調試,這個時候需要用局域網開啟在手機上查看。

解決方法:在配置文件加 --host 0.0.0.0

或者:

3.當我們運行打包腳本npm run build或者打包ios weexpack build ios有可能會遇到以下報錯:ERROR in xxx.js from UglifyJs

這是因為webpack在打包vue文件時沒有成功轉換ES6的語法

解決方法:

解決方法很簡單,加入babel-preset-es2015插件即可
1、安裝依賴包

$ npm install --save-dev babel-preset-es2015

 

ps:babel-loaderbabel-core應該是默認裝好的,如果沒有安裝,請重新安裝

 

2、修改【webpack.config.js】配置文件
找到 /\.js$/的rules,進行修改

 

      {
        test: /\.js$/, use: [{ loader: 'babel-loader', options: { presets: ['es2015'] } }] }

 

3、根目錄下添加【.babelrc】文件
文件內容:

 

{
  "presets": ["es2015"] }
差不多效果是這樣的:

下面也不知道會有了那么多東西,就這樣用吧

{
  "presets": [
    ["env", {
      "modules": false,
      "targets": {
        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
      }
    }],
    "stage-2"
  ],
  "plugins": ["transform-vue-jsx", "transform-runtime"]
}

4.運行項目時報錯 Error: No PostCSS Config found in... 

 有時候clone下來的項目安裝運行后會報這個錯誤,解決方法:

在項目根目錄新建postcss.config.js文件,並對postcss進行配置:

module.exports = {  
    plugins: {  
      'autoprefixer': {browsers: 'last 5 version'}  
    }  
  } 

 在npm run dev 就好了。postcss配置在 webpack.config.js   postcss.config.js是針對webpack3.0做的特殊處理。

5.Vue渲染table時調用方法修改data屬性的時候報錯:You may have an infinite update loop in a component render function. 

<template>
    <div>
      <el-table :data="tableData" >
            <el-table-column prop="id" label="id"></el-table-column>
            <el-table-column prop="createTime" label="創建時間">
                <template slot-scope="scope">
                    <span>{{testt('1s1')}}</span>
                </template>
            </el-table-column>
        </el-table> 
    </div>
</template>
<script>
    export default {
        data() {
            return {
                num:0,
                tableData:[{id:1,createTime: "2019-03-05"}]
            };
        },
        methods: {
           testt(){
               this.num = this.num+1
               console.log(this.num+1)
           },
           deleteRow(){
               alert(1)
           }
        },
    };
</script>

在循環渲染列表的時候(v-for也是如此)同時改變data屬性的值就會報錯:

原因:渲染組件的時候,去改變了data里面的數據,data里面的數據變化又會調用render函數,從新渲染組件,這樣就造成了 死循環

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM