收藏
回答

插件开发助手报错

问题模块 框架类型 问题类型 操作系统 工具版本
开发者工具 小程序 Bug Windows v1.02.1803210

在开发者工具里面开发插件,需要一个miniprogram来对插件进行演示


在开发者工具里面我的app.json文件是这样的

{
    "pages": [
        "pages/index/index",
        "pages/help/index",
        "pages/demo/index"
    ],
    "window": {
        "navigationBarTitleText": "日历组件演示"
    },
    "tabBar": {
        "color": "#dbdbdb",
        "selectedColor": "#6665ff",
        "backgroundColor": "#ffffff",
        "list": [
            {
                "pagePath": "pages/index/index",
                "text": "功能演示",
                "iconPath": "/resource/index2.png",
                "selectedIconPath": "/resource/index.png"
            },
            {
                "pagePath": "pages/help/index",
                "text": "接口文档",
                "iconPath": "/resource/interface2.png",
                "selectedIconPath": "/resource/interface.png"
            },
            {
                "pagePath": "pages/demo/index",
                "text": "Demo",
                "iconPath": "/resource/layers2.png",
                "selectedIconPath": "/resource/layers.png"
            }
        ]
    },
    "plugins": {
        "calendar": {
            "version": "dev",
            "provider": "这里是小程序APPID,我在这里隐藏掉"
        }
    }
}


在左侧模拟器是可以正常显示的,显示如下图



一切正常,没有任何异常输出。


但是点击预览按钮,手机扫码打开插件开发助手,却是一片空白,打开调试,看到输出信息为页面没注册



各个Tab标签页都不行。重启微信,删除插件助手也无法解决。

我不知道这种错误是否会影响到代码上传后的审核工作

烦请相关人员排查,谢谢

最后一次编辑于  2018-04-11
回答关注问题邀请回答
收藏

5 个回答

  • 小程序技术专员-LastLeaf
    小程序技术专员-LastLeaf
    2018-04-16

    我把lunar.js文件移入和claendar.js同个目录里面,直接在calendar.js文件中require("./lunar.js");即错误消除。


    不应该会有类似的问题才对,我按照你之前的目录结构来尝试require也没遇到问题。


    对两个问题的解答:

    1. 目前没有强制约束,不过建议保留。

    2. 是的,开发模式下只能是dev。

    2018-04-16
    赞同 1
    回复 12
    • 我的意中人可能是个熊二
      我的意中人可能是个熊二
      2018-06-29

      你好,官方大哥,我学写个插件,也在预览的时候遇见了手机端白屏的情况,手机端报错为:Please do not call Page constructor in files that not listed in "pages" section of app.json or plugin.json,目录如下:

      ,(在开发工具里能正常显示,在手机预览中白屏),该声明的都声明了啊,pages里也没啥啊,急切盼望得到回复,谢谢

      2018-06-29
      1
      回复
    • 小程序技术专员-LastLeaf
      小程序技术专员-LastLeaf
      2018-06-29

      是不是有非页面js文件中调用了 Page() ?

      2018-06-29
      1
      回复
    • 我的意中人可能是个熊二
      我的意中人可能是个熊二
      2018-06-29回复小程序技术专员-LastLeaf


      哪个文件是你所说的非页面js?如果是非页面js我调用page()也没用,在模拟器上应该也报错的啊?   我能不能把代码直接私发给你啊哈哈哈哈。。。。真的是蒙圈

      2018-06-29
      回复
    • 小程序技术专员-LastLeaf
      小程序技术专员-LastLeaf
      2018-06-29

      原因不是很明晰。不过可以确定是有 Page() 调用才有可能报这个错。能否列举一下你的代码中所有调用了 Page 构造器的地方呢?

      2018-06-29
      1
      回复
    • 我的意中人可能是个熊二
      我的意中人可能是个熊二
      2018-06-29回复小程序技术专员-LastLeaf





      难道是我的data.js的那个that不对啊?我把需要调用data.js的页面的this传过去了,就上面那个箭头指着的地方,这是所有的js了(除了list(它是页面js啊)和template(里面是空的)的页面配套js),麻烦你费脑子了,谢谢

      2018-06-29
      1
      回复
    查看更多(7)
  • Coding
    Coding
    2018-04-14

    你好,问题已解决,我把lunar.js文件移入和claendar.js同个目录里面,直接在calendar.js文件中require("./lunar.js");即错误消除。


    另有两个问题:

    1、如果我的插件不对外提供js接口,那么插件配置文件中的类似"main":"index.js"配置项是否可以删除?还是说必须保留,但index.js内容为

    module.exports = {},留空即可?


    2、插件开发时,app.json文件中的plugins配置项,version是不是必须为dev?而不能是类似1.0.0这样的写法?谢谢!




    2018-04-14
    赞同
    回复
  • 小程序技术专员-LastLeaf
    小程序技术专员-LastLeaf
    2018-04-13

    做了一个相似的例子,但是并没有复现出你的问题。可否提供一个代码片段供我们复现问题呢?


    代码片段的用法:https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2018-04-13
    赞同
    回复
  • Coding
    Coding
    2018-04-13


    插件的主文件是calendar.js

    引用了一个农历算法文件叫lunar.js


    目录结构是:

    plugin

        components

            calendar

                calendar.js

        utils

            lunar.js


    那么在calendar.js中引用lunar.js采取../../utils/lunar.js 这样写没毛病吧?

    如果有引用错误,那为什么调试工具又可以正常显示呢?反而到了线上预览就不行?

    2018-04-13
    赞同
    回复
  • 小程序技术专员-LastLeaf
    小程序技术专员-LastLeaf
    2018-04-13

    你好,这样会导致审核无法通过的。


    这个问题初步判断是插件内有 require 语句,但 require 的路径未找到导致的。麻烦检查一下相关代码。如果还有疑问,麻烦提供以下相关的细节。谢谢!

    2018-04-13
    赞同
    回复