碰到一个贼无语的问题,有一个项目,需要使用虚拟键盘,找到了一个自称能在 vue 3 使用的,还能导入词库,看起来挺好,装完一用。好家伙,报错一环接一环,给我整无语了。但是市面上已经没有另外一款带中文的虚拟键盘了,只能捏鼻子下载下来自己改了。
整了半天,终于让组件能在 vue 3 + TS 下跑了,一看,我的中文呢?看了看文档,只需要引用词库就行了,我便将地址丢入组件中,然后,程序就报错了:TypeError: Failed to resolve module specifier '@/dict/baseDict.json'。
我直接一脸问号,明明这路径存在资源啊。然后我就开始搜索,一开始我直接搜了报错,发现和我的问题差之千里,就换成 TypeScript dynamic import 当关键词,搜出来一些似是而非的答案,不过也给了我启发。接下来我就使用 Vue 3 template string TypeScript dynamic import 当关键词,还是找不到答案。
但是在找的过程中,我发现使用一些规律,下面是代码:
import('@/dict.json') // 正常
import('../../dict.json') // 正常
var url = '../dict.json'
import(url) // 正常
import(`${'@/dict.json'}`) // 报错
var url = '@/dict.json'
import(url) // 报错
var url = 'dict.json'
import(`@/${url}`) // 报错
import('@/' + url) // 报错
var url = 'dict.json'
import('../../' + url) // 报错,但不是无法引用,而是 MIME 不正确
// 该案例使用了 js 而不是 json
var url = 'dict.js'
import('../../' + url) // 正常
// dict.js
import baseDict from "./baseDict.json";
export default baseDict
不过这已经不重要了,因为我在这问题上花了很多时间,已经和这问题犟上了。虽然我可以直接写死路径,但是废了大半天也找不到答案,我这不得给这问题解决咯再写篇博客记录一下?
接下来我转换了思路,这个报错不止最开始的 TypeError,后面还接了错误来源:runtime-core.esm-bundler.js。我去搜了搜,发现这是 vue 的 运行相关的东西,于是便搜索 runtime-core template string dynamic import。终于在第一个链接中找到了答案。
简单点说就是 vite 不支持动态导入 '@/' + 变量 这种模式,只支持相对路径。然后我去改了这个项目和另外一个 element plus 生成的路由引用组件的代码,看看能否支持这个结论,结果是支持的,只要改成 import(`${'@/dict.json'}`) 就会报错,这下思路就清晰了,只要改成相对地址就完事了。顺手给项目对应的 github 提了个 issus,希望可以给 vue 3 的中文开源环境提供一点点贡献吧(不过不知道变成包引用后,这个相对路径该写成什么样)。
之后又在 vue 2 的项目中试了试,发现在路由组件中使用 import(`${'@/view/home.vue'}`) 是可以正常运行的,和之前找到的答案有点出入,不过,以后再说8~
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看rubyzip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
很好奇,就使用rubyonrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提
假设我做了一个模块如下:m=Module.newdoclassCendend三个问题:除了对m的引用之外,还有什么方法可以访问C和m中的其他内容?我可以在创建匿名模块后为其命名吗(就像我输入“module...”一样)?如何在使用完匿名模块后将其删除,使其定义的常量不再存在? 最佳答案 三个答案:是的,使用ObjectSpace.此代码使c引用你的类(class)C不引用m:c=nilObjectSpace.each_object{|obj|c=objif(Class===objandobj.name=~/::C$/)}当然这取决于
我正在尝试使用ruby和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h