質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Vite

Viteは、フロントエンド向けのビルドツール。JavaScriptはもちろん、さまざまな環境での利用が可能です。ES Modulesを利用することで高速ビルドを実現でき、ファイルの変更時も変更箇所のみを更新できるといった特徴があります。

意見交換

クローズ

1回答

267閲覧

Vite の静的アセット読み込みでマクロ的なことをしたい

Paalon

総合スコア266

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Vite

Viteは、フロントエンド向けのビルドツール。JavaScriptはもちろん、さまざまな環境での利用が可能です。ES Modulesを利用することで高速ビルドを実現でき、ファイルの変更時も変更箇所のみを更新できるといった特徴があります。

0グッド

1クリップ

投稿2024/05/29 10:41

編集2024/05/29 13:17

0

1

現在、Vite + Vue + TypeScript で大きい文書のようなものを作っています。そこでたくさんの(100以上の)静的なテキストファイルを読み込んで JavaScript で処理をして HTML 要素に変換して Vue のコンポーネントの一部に埋め込んでいるのですが、

vue

1<script setup lang="ts"> 2import textA from "./a.txt?raw"; 3import textB from "./b.txt?raw"; 4import textC from "./c.txt?raw"; 56import textX from "./a.txt?raw"; 7import textY from "./b.txt?raw"; 8import textZ from "./c.txt?raw"; 9 10const a = { name: "a", text: textA }; 11const b = { name: "b", text: textB }; 12const c = { name: "c", text: textC }; 1314const x = { name: "x", text: textX }; 15const y = { name: "y", text: textY }; 16const z = { name: "z", text: textZ }; 17</script> 18 19<template> 20 <Component1 v-bind="a"/> 21 <Component1 v-bind="b"/> 22 <Component1 v-bind="c"/> 2324 <Component1 v-bind="x"/> 25 <Component1 v-bind="y"/> 26 <Component1 v-bind="z"/> 27</template>

こんな Vue ファイルが何十個もできそうで、同じような処理しかしないので JSON なんかに設定だけ書いて、Vue ファイルを生成するプログラムを書くか、

js

1import config from "./config.json"; 2 3for (const item of config) { 4 eval(`import text${item.name} from "${item.text}?raw";`); 5 eval(`const ${item.name} = { name: "${item.name}", text: text${item.name} };`); 6}

みたいなことをしたい気持ちになりましたが、上記のコードはもちろん動きません。Vue でマクロプログラミング的なことをしたいときに良い方法やツールはありますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

回答1

#1

Paalon

総合スコア266

投稿2024/05/29 13:17

v-for でコンポーネントの繰り返しは避けられるみたいですね。ということはやりたいことは、Vue というよりも、Vite の静的アセット読み込みをマクロ化したいということだと思います。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

最新の回答から1ヶ月経過したため この意見交換はクローズされました

意見をやりとりしたい話題がある場合は質問してみましょう!

質問する

関連した質問