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:"写你需要默认导出的文件名字" };
题主问题解决了吗