收藏
回答

TS quick-start 构建npm失败

框架类型 问题类型 操作系统 工具版本
小程序 Bug macOS Stable v1.02.1902010 / Nightly v1.02.1904302

- 当前 Bug 的表现(可附上截图)

  1. Nightly v1.02.1904302下新建TS项目

  2. 项目根目录下执行 npm i -S vant-weappnode_modules 在项目根目录下,小程序根目录为 miniprogram

  3. 项目结构

    ├── miniprogram // 小程序根目录
    ├── node_modules
    ├── package-lock.json
    ├── package.json
    ├── project.config.json
    ├── tsconfig.json
    └── typings


  4. project.config.json

    {
        "description": "项目配置文件",
        "packOptions": {
            "ignore": []
        },
        "miniprogramRoot": "miniprogram/", // 小程序根目录
        "compileType": "miniprogram",
        "libVersion": "2.6.6",
        "projectname": "miniprogram-test-1",
        "scripts": {
            "beforeCompile": "npm run tsc",
            "beforePreview": "npm run tsc",
            "beforeUpload": "npm run tsc"
        }
    }
  5. "构建npm",构建出错:“没有找到可以构建的NPM包”

  6. 根据文档npm支持node_modules 移至 miniprogram 目录(即小程序根目录)下,重新执行"构建npm"依然构建失败,此处与文档不符。

  7. 删除 miniprogramRoot 后重新构建,构建成功,此时 miniprogram_npm 在项目根目录下,但还需将 miniprogram_npm 移动至 miniprogram(即小程序根目录)下才能正常使用npm包。


- 预期表现

若指定 miniprogramRoot 且按文档说明正确存放 node_modules ,在执行"npm构建"后,miniprogram_npm 应成功构建在所指定的小程序根目录下,而不是成功构建npm包后再移动 miniprogram_npm


- 复现路径


- 提供一个最简复现 Demo



回答关注问题邀请回答
收藏

1 个回答

  • 小程序技术专员-june
    小程序技术专员-june
    2019-05-27

    package.json 和 node_modules 均需要在小程序根目录下,即 miniprogramRoot 目录下。

    2019-05-27
    有用 3
    回复 2
    • EricTang🚀
      EricTang🚀
      2020-03-04
      这句话,真正解决了我的问题
      2020-03-04
      回复
    • 沃土
      沃土
      2020-03-04
      终于在这句话的帮助下顺利出坑。多谢多谢
      ~~~~~~~~~~~~~~~~~~~~~~~~~~
      没有可以构建的NPM包。答案在这里↑↑↑↑
      2020-03-04
      回复
登录 后发表内容