uni-app 发布插件报uni_modules中插件的package.json格式不正确,但是明明没有问题

发布于 1周前 作者 gougou168 来自 Uni-App

uni-app 发布插件报uni_modules中插件的package.json格式不正确,但是明明没有问题

操作步骤:

  • 在插件市场发布云端一体项目模板

预期结果:

  • 正常发布

实际结果:

  • 报uni_modules中插件的package.json格式不正确,但是明明没有问题

bug描述:

  • 在插件市场发布云端一体项目模板,报uni_modules中插件的package.json格式不正确,但是明明没有问题

image


4 回复

{
“id”: “sv-json-view”,
“displayName”: “sv-json-view”,
“version”: “1.0.0”,
“description”: “json数据格式化可视化展示”,
“keywords”: [
“sv-json-view”,
“json”,
“格式化”,
“可视化”
],
“repository”: “”,
“engines”: {
“HBuilderX”: “^3.5.5”
},
“dcloudext”: {
“type”: “component-vue”,
“sale”: {
“regular”: {
“price”: “0.00”
},
“sourcecode”: {
“price”: “0.00”
}
},
“contact”: {
“qq”: “”
},
“declaration”: {
“ads”: “无”,
“data”: “插件不采集任何数据”,
“permissions”: “无”
},
“npmurl”: “”
},
“uni_modules”: {
“dependencies”: [],
“encrypt”: [],
“platforms”: {
“cloud”: {
“tcb”: “y”,
“aliyun”: “y”
},
“client”: {
“Vue”: {
“vue2”: “u”,
“vue3”: “y”
},
“App”: {
“app-vue”: “y”,
“app-nvue”: “u”,
“app-uvue”: “u”
},
“H5-mobile”: {
“Safari”: “y”,
“Android Browser”: “y”,
“微信浏览器(Android)”: “y”,
“QQ浏览器(Android)”: “y”
},
“H5-pc”: {
“Chrome”: “y”,
“IE”: “u”,
“Edge”: “y”,
“Firefox”: “y”,
“Safari”: “y”
},
“小程序”: {
“微信”: “y”,
“阿里”: “y”,
“百度”: “u”,
“字节跳动”: “u”,
“QQ”: “u”,
“钉钉”: “u”,
“快手”: “u”,
“飞书”: “u”,
“京东”: “u”
},
“快应用”: {
“华为”: “u”,
“联盟”: “u”
}
}
}
}
} 他说这个json格式不正确,不知道问题在哪,这个文件又没动过


改成发布 uni-app前端项目模板 就能正常发布,感觉有点奇怪

在使用 uni-app 发布插件时,如果遇到 uni_modules 中插件的 package.json 格式不正确的报错,尽管你确认文件内容没有问题,可能还是有一些细节需要注意。以下是一些可能的原因和解决方法:

1. 检查 package.json 文件格式

  • 确保 package.json 文件是一个有效的 JSON 文件,且没有语法错误。
  • 可以使用在线 JSON 校验工具(如 jsonlint.com)来验证 package.json 文件是否合法。

2. 检查 package.json 的必填字段

  • package.json 中必须包含一些必填字段,如 nameversiondescription 等。确保这些字段都存在且格式正确。
  • 例如:
    {
      "name": "my-plugin",
      "version": "1.0.0",
      "description": "A uni-app plugin",
      "main": "index.js",
      "author": "Your Name",
      "license": "MIT"
    }

3. 检查 uni_modules 目录结构

  • 确保插件目录结构符合 uni-app 的要求。插件应该放在 uni_modules 目录下,并且 package.json 文件应该位于插件的根目录。
  • 例如:
    uni_modules/
    └── my-plugin/
        ├── package.json
        ├── index.js
        └── other-files/

4. 检查 package.json 中的 uni-app 相关字段

  • 如果插件是为 uni-app 开发的,确保 package.json 中包含 uni-app 相关的字段,如 uni-appuni_modules
  • 例如:
    {
      "name": "my-plugin",
      "version": "1.0.0",
      "description": "A uni-app plugin",
      "main": "index.js",
      "author": "Your Name",
      "license": "MIT",
      "uni-app": {
        "scripts": {
          "postinstall": "node postinstall.js"
        }
      }
    }

5. 检查文件编码

  • 确保 package.json 文件的编码是 UTF-8,而不是其他编码格式(如 UTF-8 with BOM)。某些编辑器可能会默认保存为带 BOM 的 UTF-8,这可能会导致解析错误。

6. 清除缓存并重新构建

  • 有时候,构建工具可能会缓存旧的 package.json 文件。尝试清除缓存并重新构建项目。
  • 在命令行中运行以下命令:
    npm cache clean --force
    npm install
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!