记一次老项目报错处理!
报错如下:
ERROR in Content/js/vendor.6d8d70fb21cdf2ca01ff.js from UglifyJs
Unexpected token operator «=», expected punc «,» [./node_modules/_crypto-js@4.1.1@crypto-js/enc-base64url.js:42,0][Content/js/vendor.6d8d70fb21cdf2ca01ff.js:21849,48]
分别按照网上的方式,转换成es5
npm i -D uglifyjs-webpack-plugin@beta
或者
resolve(’/node_modules/_crypto-js@4.1.1@crypto-js/enc-base64url.js’)
打包时不报错了,但是打包下来的项目运行报错,找不到enc
最后放弃挣扎了,还是用cdn引入吧,如下:
解决方法:
index.html
<html>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/core.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/enc-base64.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/md5.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/evpkdf.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/cipher-core.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/aes.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/pad-pkcs7.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/mode-ecb.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/enc-utf8.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/enc-hex.min.js"></script>
<body>
<div id="app"></div>
</body>
<script>
window.CryptoJS = CryptoJS;
</script>
</html>
page.vue 中使用
// import CryptoJS from "crypto-js";
const CryptoJS = window.CryptoJS;
const CRYPTOJSKEY = CryptoJS.enc.Utf8.parse("XXXXX");
...
完美解决!