-
Notifications
You must be signed in to change notification settings - Fork 81
npm run build 报错 [logic] 找不到模块文件: /crypto-js #134
Description
描述问题 (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