解決Vue中”This dependency was not found”的方法

格子熊發表於2018-06-17

今天在初始化專案中,出現了一個奇怪的情況:明明路徑是對的,但是編譯的時候,一直報“This dependency was not found”的錯。
程式碼如下:

import Vue from `vue`
import App from `./App`
import router from `./router`

import `common/stylus/index.styl`

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

控制檯一直報錯,表示無法找到common/stylus/index.styl,然而,路徑是通過ide補全填寫的,不可能出現錯誤,那又是為什麼?

多次測試發現,Vue中的引入檔案時,需要通過./通知編譯器是在當前路徑,不然的話,第一個資料夾名會被認為是webpack配置的alias(別名)。

所以,正確引入index.styl的方式是:

import Vue from `vue`
import App from `./App`
import router from `./router`

import `./common/stylus/index.styl` // 新增./避免編譯器認為是別名

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

相關文章