vue中使用element-ui自定義主題後,vue-cli跑不起來了

環境:vue-cli 2.x版本css

本身在官網配置了主題並放到了項目中https://element.eleme.cn/#/zh-CN/themevue

而後,個人腳手架在個人電腦中休息了幾天,就跑不通了呢!node

能夠看到報錯:webpack

: config.dev.cssSourceMap
      ^web

TypeError: Cannot read property 'cssSourceMap' of undefinedvue-cli

 

緣由:

我在項目下放了一個config.json文件,他是element-ui的自定義主題配置文件。element-ui

 

仔細觀察個人報錯:
在項目build目錄下的vue-loader.conf.js文件中,config.dev是undefined,因此纔會報錯說「不能讀undefined的屬性」。由於undefined類型是沒有屬性的,這點是js的基礎知識。json

 

好,那就說明config變量(多是個對象)他沒有dev屬性。
因而我去這個文件夾下打印config變量:ui

 

他本來引得路徑是本文件上一級目錄的config。
可能由於require這個node語法的特色,雖然我還沒學到,可是我猜想require裏邊的路徑,若是不寫後綴名,會自動補全後綴名,spa

也就是說若是有同名文件就會被引入。若是沒有同名文件,他就引入同名文件夾下的index.js

 

可是我如今在build上一級中(根目錄下)放了config.json。他優先引入了config.json文件。
打印結果證明了個人猜想:下邊的對象就是config.json裏邊的代碼

 

解決

因而我把require裏邊的引入路徑修改一下,把config的路徑添加爲「.../config/index」:

 

再打印,這裏就沒問題了,內容就是config文件夾中的index.js的內容:

 


可是又來了新問題,換了新的頁面webpack.base.conf.js:19

path: config.build.assetsRoot,
        ^

TypeError: Cannot read property 'assetsRoot' of undefined


看來這個裏邊也是引入的路徑的問題。去對應文件的對應行19行尋找問題位置:

 

果真這裏也是由於config.json文件的加入,致使config引入進來的不對了:

 

修改這裏的路徑,順便把webpack的其餘配置文件中config/index.js的引入也修改一下:

 

如下三個文件中都有一樣的問題:

 


還有utils裏邊也用到了。也得改。
綜上,一下五個文件中,關於config文件中index.js的引入路徑都須要改一下就能夠正常跑起來了。

 

爲了看到這兩行,真不容易啊!

相關文章
相關標籤/搜索