求助:如何在WPS JS宏中导入第三方库

JS有很多外部库,像npm上遍地都是,但这些库不是都能随心所欲地用在WPS的JS宏中,这又是一个叫小白抓狂的地方。 有人说,可以通过JS宏操作界面中左上角第二个按钮"导入文件" 导入js后缀文件,这个使用的前提是取消工具-选项-编译里的两个关于全局作用域的选项。但这个方法属于下策,文件大小不一,稍大的js文件就会卡死,根本跑不起来。 目前了解到的较好的方法是,构建一个静态类,用import方法引用js文件路径,比如要使用lodash,从官网下载相关的lodash文件就能直接import使用,如下图片所示(发帖限制也多,不能包含某些符号,哎....) 注意哈,这种方法路径中不能有中文,东方不友好。还有一点lodash 文件下载后可以直接使用,而另外的一些文件像rambda,需要在源代码中把this修改成globalThis才能用。这个方法也有一些门槛,不是内行人士根本不会玩,小白就直接抓瞎,在群里只能眼睁睁看着大佬炫。 早上从@王子陶大佬那里了解到还有一个Danfo库,功能类似Python库的Pandas可以进行结构化数据的处理。有大佬知道这个库要如何才能在WPS JS中使用起来,像lodash这样下载即用,或者稍微加工一下就能用,是不是要通过npm里的打包工具进行编译,可否指导一下?
湖北省
浏览 286
收藏
2
分享
2 +1
14
+1
全部评论 14
 
王子陶
王子陶

@金山办公

很多js库里面都提供了html的导入方式, 类似于"<script src="https://cdn.jsdelivr.net/npm/danfojs@1.1.2/lib/bundle.js"></script>", 一般这个下载下来以后可以导入jside. 如果遇到依赖于浏览器内置函数可能需要单独处理一下. 也可以用vite的打包功能, 把库打包成单个文件, 不最小化代码.
· 加利福尼亚
回复
 
王子陶
王子陶

@金山办公

不需要用剪贴板, jside可以直接导入js文件
· 广东省
回复
 
jbian
@王子陶 大佬有空吗,指导一下怎么玩danfo 上次ffi.LoadLibrary(libduckdb.dylib)也没玩出名堂来
· 湖北省
回复
 
wils
wils

创作者俱乐部成员

danfo/lib/bundle.js直接放进jsa应该能用 但是,里面有很多&#字符实体,需要拆开,这是jsa的bug 对于require引用的库可以用browserify打包,import的包可以用esbuild打包 还要考虑jsa很多接口没提供,所以不是打包后都能用,得试
· 海南省
回复
jbian
裂开还要编译,门槛都爬不过去
· 湖北省
回复
 
时光浅幽
JS宏可以代码操作代码
· 江苏省
回复
时光浅幽
像这样
· 江苏省
回复