插件开发助手报错
发布于 5 年前 作者 guiying10 11420 次浏览 来自 问答

在开发者工具里面开发插件,需要一个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标签页都不行。重启微信,删除插件助手也无法解决。

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

烦请相关人员排查,谢谢

5 回复

你好,问题已解决,我把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这样的写法?谢谢!

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

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

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

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

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

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

对两个问题的解答:

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

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

插件的主文件是calendar.js

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

目录结构是:

plugin

    components

        calendar

            calendar.js

    utils

        lunar.js

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

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

回到顶部