webpack编译出了反引号里面的内容但是报错,但是我直接写字符串就不报错

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)就不报错,但是事实上是一样的,求高手解答为什么?

炎炎设计
浏览 745回答 1
1回答

摇曳的蔷薇

跟nodejs 有关。因为 nodejs 文件导入有两种 路径形式,一种是 就是 指向一个 js文件 ,一种就是 指向一个 文件夹,当为文件夹的时候,会默认引用 文件夹里的 index.js 文件 。这里 你 的路径是个文件夹,由于你这里面没有 index.js 文件所以会报错。当然你也可以自定义 文件。你可以在该文件夹里面 新建一个 package.json 文件 在里面 写个对象 { main:"写你需要默认导出的文件名字" };
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript