TL博士:如何将JavaScript嵌入到Uno平台跨平台库项目中?
背景
下面是一些关于如何将JavaScript库嵌入到Uno platform Application (非库)的WASM平台项目的大量资源:
发问
但是,上面的内容并没有说明如何在Uno平台Library中实现这一点,我也没有找到任何方法。如何将JavaScript嵌入到无平台跨平台库项目中?
发布于 2020-12-17 15:03:51
这个链接显示了如何做它- https://platform.uno/blog/how-to-embed-javascript-components-in-c-built-uno-webassembly-web-applications/。
它有两个示例,说明如何使用日期/时间选择器控件Flartpickr以及语法可视化工具PrismJS。
发布于 2020-12-17 15:48:54
好吧,我很不好意思让它开始工作是多么容易。在我创建了我的Uno平台库项目在Visual 2019中使用Uno解决方案模板之后,我随后:
WasmScripts文件夹LibTest.js)添加到WasmScripts文件夹中:函数libTest() {返回'IT工作!‘;}Test.cs),在针对NetStandard时使用上述JavaScript函数--这是Uno WebAssembly应用程序使用的目标:使用系统;使用System.Collections.Generic;使用System.Linq;使用System.Text;使用System.Threading.Tasks;#if !NETFX_CORE使用Uno.Foundation;#endif命名空间WasmTricksLib { public分部类测试{公共静态字符串PerformTestAsync() { #if __WASM__ var PerformTestAsync= WebAssemblyRuntime.InvokeJS("libTest()");#endif }}根据上述结果,图书馆的项目结构如下:

到目前为止,基于Uno平台应用程序项目的文档,所有这些步骤都是我所期望的。但是,它不会编译,VisualStudio IntelliSense也不喜欢Test.cs中的一些代码。
解决方案
将以下<ItemGroup>添加到Uno Platform Library的.csproj文件中:
<ItemGroup Condition=" $(TargetFramework.StartsWith('netstandard2.')) ">
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Filter" Version="1.1.1" />
<PackageReference Include="Uno.UI.WebAssembly" Version="3.3.0" />
</ItemGroup>https://stackoverflow.com/questions/65342923
复制相似问题