理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块。然而,理想很丰满,现实很骨感,特别是在WPS编辑器中,加载别人写好的模块需要用eval方法。很不安全,WPS官方又没有开发出独特的加载方式,下面是一个模块的加载示例:
var CryptoJS; //.MD5(inputString).toString()
var _;
async function cryptoJs(){
let str = await fetch("https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js").then(x => x.text());
eval(str);
}
async function lodash(){
const str = await fetch("https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js").then(x => x.text());
eval(str);
}
async function MD5Test(){
await cryptoJs(); //引入前端加密模块crypto-js.min.js
print(CryptoJS.MD5("123").toString());
await lodash(); //引入前端模块lodash
const array = [1, 2, 3, 4, 5];
const chunked = _.chunk(array, 2);
console.log(JSON.stringify(chunked));
}<
订阅专栏 解锁全文
832

被折叠的 条评论
为什么被折叠?



