環境: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的引入路徑都須要改一下就能夠正常跑起來了。
爲了看到這兩行,真不容易啊!