1***@qq.com
1***@qq.com
  • 发布:2023-06-12 16:34
  • 更新:2023-06-13 09:36
  • 阅读:447

微信小程序编译报 ast.helpers.includes is not a function

分类:HBuilderX

如图所示,我没有用 uni.scss,而是自己在另外一个文件定义变量。我用 cli 方式是没问题,但是用 hbuilderX 编译就报错

import { defineConfig } from 'vite'  
import uni from '@dcloudio/vite-plugin-uni'  
import { resolve } from 'path'  
// https://vitejs.dev/config/  
export default defineConfig({  
  plugins: [  
    uni()  
  ],  
  resolve: {  
    alias: {  
      '@': resolve(__dirname, './'),  
      '@utils': resolve(__dirname, './utils')  
    }  
  },  
  css: {  
    preprocessorOptions: {  
      scss: {  
       // HBuilderX 这里要使用别名,否则报错;cli 方式则无碍  
        additionalData: '@import "@/styles/variables.scss";',  
        javascriptEnabled: true  
      }  
    }  
  }  
})  
2023-06-12 16:34 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com (作者)

找到原因了,因为我的项目原先是 HBuilderX 创建的,但是想要用 WebStorm,所以我在外面套了一层 cli,src 目录就做 git 管理。
然后 cli 方式是没问题的,但是为了不影响其他人 HBuilderX 编译使用,所以我尝试用 HBuilderX 编译,但是报文中的错。
排查是 node_module 里面的包的原因,之后排查到 package.json,发现和我另外一个项目的不一样,于是进行替换测试通过...

  • 1***@qq.com (作者)

    回复写了一大串被折叠了....不想再写一遍了,(回复的编辑器没有超字数的报警提示之类的,不够人性化)

    2023-06-13 09:27

1***@qq.com

1***@qq.com (作者)

虽然被折叠,还是贴一下解决后的 package.json 吧,希望能帮到同错中人

{  
  "name": "uni-preset-vue",  
  "version": "0.0.0",  
  "scripts": {  
    "dev:custom": "uni -p",  
    "dev:h5": "uni",  
    "dev:mp-weixin": "uni -p mp-weixin",  
    "build:custom": "uni build -p",  
    "build:h5": "uni build",  
    "build:mp-weixin": "uni build -p mp-weixin",  
    "cli": "uniapp-cli-run"  
  },  
  "dependencies": {  
    "@dcloudio/uni-app": "3.0.0-3071120230427001",  
    "@dcloudio/uni-app-plus": "3.0.0-3071120230427001",  
    "@dcloudio/uni-components": "3.0.0-3071120230427001",  
    "@dcloudio/uni-h5": "3.0.0-3071120230427001",  
    "@dcloudio/uni-mp-weixin": "3.0.0-3071120230427001",  
    "pinia": "~2.0.36",  
    "rollup-plugin-copy": "^3.4.0",  
    "sass": "^1.56.1",  
    "sm-crypto": "^0.3.11",  
    "vue": "^3.2.37",  
    "vue-i18n": "^9.1.9"  
  },  
  "devDependencies": {  
    "@dcloudio/types": "^3.3.2",  
    "@dcloudio/uni-automator": "3.0.0-3071120230427001",  
    "@dcloudio/uni-cli-shared": "3.0.0-3071120230427001",  
    "@dcloudio/uni-stacktracey": "3.0.0-3071120230427001",  
    "@dcloudio/vite-plugin-uni": "3.0.0-3071120230427001",  
    "uniapp-cli-run": "^0.0.4",  
    "vite": "4.1.4"  
  }  
}  
  • 1***@qq.com (作者)

    错的时候用的 package.json


    {  
    "name": "uni-preset-vue",
    "version": "0.0.0",
    "scripts": {
    "dev:custom": "uni -p",
    "dev:h5": "uni",
    "dev:mp-weixin": "uni -p mp-weixin",
    "build:custom": "uni build -p",
    "build:h5": "uni build",
    "build:mp-weixin": "uni build -p mp-weixin",
    "cli": "uniapp-cli-run"
    },
    "dependencies": {
    "@dcloudio/uni-app": "3.0.0-3061820230117001",
    "@dcloudio/uni-app-plus": "3.0.0-3061820230117001",
    "@dcloudio/uni-components": "3.0.0-3061820230117001",
    "@dcloudio/uni-h5": "3.0.0-3061820230117001",
    "@dcloudio/uni-mp-weixin": "3.0.0-3061820230117001",
    "pinia": "^2.0.23",
    "rollup-plugin-copy": "^3.4.0",
    "sass": "^1.56.1",
    "sm-crypto": "^0.3.11",
    "vue": "^3.2.45",
    "vue-i18n": "^9.1.9"
    },
    "devDependencies": {
    "@dcloudio/types": "^3.0.17",
    "@dcloudio/uni-automator": "3.0.0-3061820230117001",
    "@dcloudio/uni-cli-shared": "3.0.0-3061820230117001",
    "@dcloudio/uni-stacktracey": "3.0.0-3061820230117001",
    "@dcloudio/vite-plugin-uni": "3.0.0-3061820230117001",
    "uniapp-cli-run": "^0.0.4",
    "vite": "3.2.4"
    }
    }

    2023-06-13 09:32

1***@qq.com

1***@qq.com (作者)

我在 HBuilderX 导入的只是 src 目录,疑问就是,
为什么在 HBuilderX 编译会受到外层的 node_module 影响?不是使用自带的 Vite 等编译环境的吗?

要回复问题请先登录注册