我有一个上传系统,我正在尝试为用户提供示例模板。我有一个本地存储在资产子文件夹中的模板,我想在我的VueJS组件中访问该模板,并在页面上显示指向该模板的链接。这些是文件结构的适用部分:
???app
? ???Components
? ???Uploader.vue
???assets
???files
???Template_Upload.csv
Run Code Online (Sandbox Code Playgroud)
在Uploader.vue中,我有这行:
<a v-bind:href="item.loc" download>{{item.title}}</a>
Run Code Online (Sandbox Code Playgroud)
在出口中,我有这条线
data() {
return {
item: {title: 'Upload Template', loc: require('../../assets/files/Template_Upload.csv')}
}
Run Code Online (Sandbox Code Playgroud)
如果我有图像,此方法有效。单击链接后,它将下载图像。但是,如果我使用.csv或.xlsx文件,则在打开页面时会引发错误。我试过使用
import fileTemplate from "../../assets/files/FileTemplate.csv";
Run Code Online (Sandbox Code Playgroud)
同样,并使用fileTemplate作为loc属性。如果我使用图片,这也可以。但是我不能带文件。这是我无法克服的限制,还是可以尝试其他方法?
我还进入了Visual Studio(换句话说就是.csproj文件),并将Template_Upload.csv的Build Action设置设置为“ Content”,而Copy to Ouput Directory设置设置为“ Copy Always”。
到目前为止,这些是我主要使用的资源:
我正在 github 页面(vite、vue3、typescript)上开发一个小项目,并且在使用 vue-i18n 进行插值时遇到问题。我一直试图在其他地方找到同样的问题,但我一直无法找到这样的例子。我想知道最近是否有一些我误解的变化。这是我遇到的问题:作为示例,我希望使用 i18n 显示此消息。
\nHello World\nRun Code Online (Sandbox Code Playgroud)\n所以在我的语言环境 json 文件中我有
\n{ "hello_": "Hello {0}" }\nRun Code Online (Sandbox Code Playgroud)\n在我的模板中我有
\n<p>{{$t(\'hello_\', [\'World\'])}}</p>\nRun Code Online (Sandbox Code Playgroud)\n当我在本地工作时,我得到
\nHello World\nRun Code Online (Sandbox Code Playgroud)\n正如预期的那样。但是,当我构建应用程序并部署 dist 时,我得到了
\nHello {0}\nRun Code Online (Sandbox Code Playgroud)\n我的原始代码将键路径和插值参数作为 props 传递给另一个组件。我尝试直接指定它(如上面的示例所示),还尝试了命名插值"hello_":"Hello {name}",{{$t("hello_", {name: "World"})}}它在开发中也运行良好,但在生产中却不起作用。我尝试过使用 $t 并直接通过导入
import { useI18n } from \'vue-i18n\' \n const\xc2\xa0{\xc2\xa0t\xc2\xa0}\xc2\xa0=\xc2\xa0useI18n({\xc2\xa0useScope:\xc2\xa0\'global\'\xc2\xa0})\nRun Code Online (Sandbox Code Playgroud)\n这是我的packages.json
\nHello World\nRun Code Online (Sandbox Code Playgroud)\n这是我的 vite.config.ts
\n import { dirname, resolve } from \'node:path\'\n import { fileURLToPath, URL } …Run Code Online (Sandbox Code Playgroud)