Skip to content

npm run build 报错 [logic] 找不到模块文件: /crypto-js #134

@kevintcl

Description

@kevintcl

描述问题 (Describe the bug)

dmcc build -s dist2 编译出错

复现步骤 (To Reproduce)

1.创建了一个简单的小程序,
2.用npm 引入了"crypto-js": "^4.2.0"。
package.json 配置如下
{
"name": "xxx",
"version": "1.0.0",
"description": "",
"license": "ISC",
"author": "",
"type": "commonjs",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"build": "dmcc build -s dist2"
},
"dependencies": {
"@vant/weapp": "^1.11.7",
"crypto-js": "^4.2.0",
"miniprogram-computed": "^7.1.0",
"westore": "^0.1.12"
},
"devDependencies": {
"@dimina/compiler": "file:.yalc/@dimina/compiler"
}
}
3.微信构建工具,构建miniprogram_npm
4. 在app.js 中引入了crypto-js: const CryptoJS = require('crypto-js');
// app.js
const CryptoJS = require('crypto-js');
App({
onLaunch() {
// 展示本地存储能力
let xx = this.encryPwd('123')
console.log('加密后:', xx)
const logs = wx.getStorageSync('logs') || []
logs.unshift(Date.now())
wx.setStorageSync('logs', logs)

    // 登录
    wx.login({
        success: res => {
            // 发送 res.code 到后台换取 openId, sessionKey, unionId
        }
    })
},
globalData: {
    userInfo: null
},
encryPwd(orgPwd) {
    let data = orgPwd
    var key = 'zydFwQbfrNhTvJaP'
    console.log("data=" + data)
    key = CryptoJS.enc.Latin1.parse(key)
    var iv = key
    // 加密
    var encrypted = CryptoJS.AES.encrypt(
        data,
        key, {
        iv: iv,
        mode: CryptoJS.mode.CFB,
        padding: CryptoJS.pad.NoPadding
    })
    let pwd = encrypted.toString()
    console.log('encrypted:', pwd);
    return pwd
},
decryptPwd(encryptedPwd) {
    var key = 'zYdFwQbLrNhTvJkP';
    key = CryptoJS.enc.Latin1.parse(key);
    var iv = key;

    // 解密
    var decrypted = CryptoJS.AES.decrypt(
        encryptedPwd,
        key, {
        iv: iv,
        mode: CryptoJS.mode.CFB,
        padding: CryptoJS.pad.NoPadding
    });

    // 将解密后的数据转换为字符串
    var decryptedText = decrypted.toString(CryptoJS.enc.Latin1);
    console.log('decrypted:', decryptedText);
    return decryptedText;
}

})

6. npm build ("build": "dmcc build -s dist2")报错:如下
dimina-wx-demo1 (master)% npm run build

zhsl-st-dcenter-miniapp@1.0.0 build
dmcc build -s dist2

██████╗ ██╗███╗ ███╗██╗███╗ ██╗ █████╗
██╔══██╗██║████╗ ████║██║████╗ ██║██╔══██╗
██║ ██║██║██╔████╔██║██║██╔██╗ ██║███████║
██║ ██║██║██║╚██╔╝██║██║██║╚██╗██║██╔══██║
██████╔╝██║██║ ╚═╝ ██║██║██║ ╚████║██║ ██║
╚═════╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝

✔ 准备项目编译环境
✔ 开始编译:dimina-wx-demo1
✔ 输出编译产物

[npm-builder] 发现 1 个 miniprogram_npm 目录
[npm-builder] 构建目录: miniprogram_npm
[logic] 找不到模块文件: /crypto-js

复现链接 (Reproduce link)

No response

预期行为 (Expected behavior)

正常编译出代码

截图 (Screenshots)

No response

平台 (Platform)

  • Android
  • iOS
  • Harmony
  • Web

操作系统 (OS)

No response

浏览器/终端 (Browser/Terminal)

No response

其它相关环境信息 (Other info)

No response

补充信息 (Additional context)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions