binladen
binladen
  • 发布:2019-04-28 12:00
  • 更新:2019-07-07 21:20
  • 阅读:4249

uni-app hello-uni-app项目运行报错

分类:HBuilderX

ERROR TypeError: Cannot read property 'id' of undefined
11:58:02.804 TypeError: Cannot read property 'id' of undefined
11:58:02.808 at generateComponent (C:\Users\guoyanhao\Downloads\HBuilderX.1.9.4.20190426.full\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\webpack-uni-mp-loader\lib\plugin\generate-component.js:17:110)
11:58:02.809 at Promise (C:\Users\guoyanhao\Downloads\HBuilderX.1.9.4.20190426.full\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\webpack-uni-mp-loader\lib\plugin\index-new.js:42:9)
11:58:02.816 at new Promise (<anonymous>)
11:58:02.816 at compiler.hooks.emit.tapPromise.compilation (C:\Users\guoyanhao\Downloads\HBuilderX.1.9.4.20190426.full\HBuilderX\plugins\uniapp-cli\node_modules\@dcloudio\webpack-uni-mp-loader\lib\plugin\index-new.js:32:14)
11:58:02.821 at _err0 (eval at create (C:\Users\guoyanhao\Downloads\HBuilderX.1.9.4.20190426.full\HBuilderX\plugins\uniapp-cli\node_modules\tapable\lib\HookCodeFactory.js:32:10), <anonymous>:13:17)
11:58:02.826 at callback (C:\Users\guoyanhao\Downloads\HBuilderX.1.9.4.20190426.full\HBuilderX\plugins\uniapp-cli\node_modules\copy-webpack-plugin\dist\index.js:77:17)
11:58:02.826 at C:\Users\guoyanhao\Downloads\HBuilderX.1.9.4.20190426.full\HBuilderX\plugins\uniapp-cli\node_modules\copy-webpack-plugin\dist\index.js:118:24
11:58:02.830 at <anonymous>

2019-04-28 12:00 负责人:无 分享
已邀请:
5***@qq.com

5***@qq.com

你是把js放到一个单独文件里了吧?

DCloud_UNI_CHB

DCloud_UNI_CHB

做了什么改动?改动后的项目源码上传上来

  • 5***@qq.com

    他的问题应该和我的一样

    在xxx.vue里因js文件

    <script src="./index-js.js"></script>

    这么引入js文件就会报上述的问题


    APP下的问题

    比如当前目录下有:

    index.vue

    index-js.js

    使用 src 引入 index-js.js 就会报上述问题

    看了一下你们的源码,简单粗暴的把通过src 引入的js直接替换成了vue文件,就变成了index-js.vue

    Generate-componente.js

    而且你们给了一个TODO 解决方案不太理想

    // /xxx/pages/index/index-js.vue

    // const resource = normalizePath(

    // path.resolve(process.env.UNI_INPUT_DIR, name.replace('.js', '.vue'))

    // )


    H5

    如果把.js/.vue写成一样的名字在H5下面会报找不到模板


    最终发现在不改动底层代码

    index.js

    index.vue

    需要H5需要带上.vue

    编译APP就不可以带上.vue

    // #ifdef H5

    "path": "pages/index/index.vue",

    // #endif

    // #ifdef APP-PLUS

    // "path": "pages/index/index",

    // #endif


    两个path同时存在编译不通过

    2019-04-29 11:33

  • binladen (作者)

    换了hbuilderX版本,更换了workspace目录,然后就好了。

    2019-05-04 15:59

  • DCloud_UNI_FXY

    回复 5***@qq.com: script 节点引用 js 文件,下个版本会支持,即使支持引用 js,也不建议将 js 和 vue 命名成一样的,

    2019-05-06 17:14

3***@qq.com

3***@qq.com

请问这个问题有修复吗
目前引入uni-ui也会出现这个问题

该问题目前已经被锁定, 无法添加新回复