const path = './../views/'
export default new Router({
routes: [
{
path: '/',
name: 'index',
component: resolve => require([`${path}index`], resolve)
}
]
上面這種寫法會報錯
Error: Cannot find module './../views/index'.
at webpackContextResolve (eval at 126 (10.js:6), <anonymous>:10:9)
at webpackContext (eval at 126 (10.js:6), <anonymous>:5:29)
at eval (eval at <anonymous> (app.js:962), <anonymous>:16:132)
但是我換成component: resolve => require(['./../views/index'], resolve)
就不報錯,但是事實上是一樣的,求高手解答為什麼?
反引號裡是變數…單引號裡是靜態的 這是差別 這裡不支援寫動態的
跟nodejs 有關。因為 nodejs 檔案匯入有兩種 路徑形式,一種是 就是 指向一個 js檔案 ,一種就是 指向一個 資料夾,當為資料夾的時候,會預設引用 資料夾裡的 index.js 檔案 。這裡 你 的路徑是個資料夾,由於你這裡面沒有 index.js 檔案所以會報錯。當然你也可以自訂 檔案。你可以在該資料夾裡面 新建一個 package.json 檔案 在裡面 寫個物件 { main:"寫你需要預設匯出的檔案名稱" };
題主問題解決了嗎