l***@163.com
l***@163.com
  • 发布:2023-05-09 18:04
  • 更新:2023-05-20 21:23
  • 阅读:362

动态import文件,会造成打包到发布文件中,无法实现用户随时追加扩展js文件

分类:uni-app

在methods:的某方法内执行动态导入js文件

let that = this;
let jsfilename = this.bizinfo[0].formGuid;
//vite 不支持@
import(../../static/form/js/${jsfilename}.js).then(formModle => {
console.log(formModle);
that.formjs = formModle.default;
}).catch(err => {
console.log('加载模型错误', err);
});

应该是vite的实现逻辑问题,根据vite官方文档 ,应该是动态导入,把目标目录下的可能的文件全都打包了,实际生成的是遍历加载的语句。

求大神指导如何实现

另外怎么付费请教不会发,可付费咨询。

2023-05-09 18:04 负责人:无 分享
已邀请:
l***@163.com

l***@163.com (作者) - toumingdehai

执着了 把外部js改成非moudle的,用脚本引入

//定义一个异步围数用于加载is文件
function loadScript(url) {
return new Promise((resolve, reject) => {
var script = document.createElement('script');
//script.type = 'module'; //改成了非module的js文件
script.src = url;
script.onload = resolve;
script.onerror = reject;
document.head.appendChild(script);
});
}
//页面方法
//调试时候
//var formjsurl = '../../static/form/js/' + this.bizinfo[0].formGuid + '.js';
//发布时候
var formjsurl = './static/form/js/' + this.bizinfo[0].formGuid + '.js';
loadScript(formjsurl).then(rs=>{
that.formFn=new FormScript;//赋值给当前的vue方法
console.log(that.formFn);
});

要回复问题请先登录注册