关于Weex引入任意模块问题:`weex.requireModule`为`undefined`

版本号

  • weex -v: 1.2.9
  • weex-vue-render: 1.0.17

项目

  • 直接官方生成(weex init ***

分析问题原因

  • 编译后的代码entry.js(只对web有效, native不会调用它)
import Vue from 'vue';
import weex from 'weex-vue-render';

weex.init(Vue);

// 以下为webpack执行后增加
import App from '../../../src/index.vue';
App.el = '#root';
new Vue(App);
  • 编译之后,优先执行:
<script>
    debugger // 可以debug一下
    const stream = weex.requireModule('stream'); // undefined
    // 上面优先被调用
    export default {...}
</script>

两种处理办法:

  • 调用时引用
<script>
    export default {
        ...
        const stream = weex.requireModule('stream'); // object
    }
</script>
  • 直接注释entry.js所有代码,在web/index.html中加入以下代码
<!--暂时先调用weex-ui时的方式,你也可以选择其他-->
<script src="//h5.m.taobao.com/js/trip/weex-ui/vue.runtime.min.js"></script>
<script src="//h5.m.taobao.com/js/trip/weex-ui/weex-vue-render-next.min.js"></script>

这只是临时解决办法,先继续玩weex了,不过希望可以得到有效解决;

阅读 9.3k
1 个回答

表示并没有解决问题哦,想哭

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进