vue.jsファイルのコードにコメントを付ける方法は?


98

将来の参照のためにvue.jsファイル内にコメントを挿入する必要がありますが、ドキュメントでこれを行う方法がわかりません。

私が試してみました///**/{{-- --}}、および{# #}、それらのどれも動作するようには思えません。

Laravelのブレードを使用しています。だからこれはsample_file.vue

<template>
    <div class="media">

        <like-button :post="post" v-if="post.likedByCurrentUser === false && "></like-button>  {{--I want to comment this but I get an error from the gulp watch: post.canBeLikedByCurrentUser === true--}}

        <div class="media-left">
            <a href="#">
                <img class="media-object" v-bind:src="post.user.avatar" v-bind:title="post.user.name + ' image from Gravatar'">
            </a>
        </div>
        <div class="media-body">
            <strong>{{ post.user.name }}</strong>
            <p>{{post.body}}</p>
            <p>{{post.likeCount}} {{ pluralize('like', post.likeCount) }}</p>
        </div>
    </div>
</template> 

コメントを挿入する方法やコードの一部にコメントする方法を知っている人はいますか?


1
複数行のコメントを探している場合は、標準のhtmlコメントが機能します<!-- -->。しかし、インラインコメントを探しているようですね。
アダム

ああ、私はそれを試すのを忘れました。確かにHTMLコードです!Thnx
Pathros 2016

1
デフォルトでは、HTMLコメントはvue vuejs.org/v2/api/#comments
Mike33

1
Vueのテンプレート構文は、ハンドルバーと非常によく似ています。それの価値は、ハンドルができることを指摘{{! comments like this }}して{{!-- comments {{like this}} that can contain double-braces --}}。これらは、<!-- html comments -->どちらとは異なり、出力にレンダリングされません。私は両方試した{{! ... }}{{!-- ... --}}Vueので、残念ながら彼らはサポートされていません。それに遭遇したユーザーの質問にそれらを追加することを検討しますか?
chharvey

回答:


174

<template>状況に応じて、タグで標準のHTMLコメントを使用することをお勧めします。それらは出力からも削除されます。これは素晴らしいことです。

<!-- Comment -->

1
Afaict、Vue 3では削除されません🤷
dtk20年

ええ、これはVue 3のテンプレートを壊しています
AdamStarrh20年

32

Bill Criswellが言ったように、HTMLコメント構文を使用できます。

<!-- Comment -->

ただし、テンプレートタグの外でも機能します、 comment.vue

<!-- Testing comments, this will work too. -->

<template>
    <!-- This will work too -->

    <div>
        <!-- Html Comments -->
        Hello There!
    </div>
</template>

<style><style>

<!-- Commenting here -->

<script>
    // Commenting only 1 line

    /**
      * Commenting multiple lines
      * Commenting multiple lines
      */
</script>

1
これにより、Vue 2.5.13で「予期しないトークン(1:1)」が発生します。
Alen Siljak 2017

以前はサポートされているルートタグの外側にコメントしていましたが、コメントの内容によっては問題が発生することがわかりました。READMEなどを作成するのに最も賢明な場所であるため、ルートタグの外側にあるvueでサポートされているコメントを希望しますが、まあまあです。
AAAAAA

サポートされているルートタブの外部でコメントを使用する代わりに、そこで有効なタグを使用してください。<comment>Commenting here</comment。これらをwebpack構成に追加する必要があります。vue-loader.vuejs.org/guide/custom-blocks.html#example
デヴィッド・R.

18

私はこれをテストしました:

<template>
    {{ /* this is a comment */ }}
    <h1>Hello world</h1>
</template>

2
かっこいい、HTML出力には表示されません。ただし、この構文では1行コメントのみがサポートされています。
d9k

残念ながら、これを機能させることはできません。Error parsing JavaScript expression: Unexpected token (1:24)
dtk20年

9

タグ内にいるときはコメントできないことに気づきました。

<!-- make sure it is outside a tag -->

<autocomplete
<!-- you can't place the comment out in here -->
>
</autocomplete>

6

プロジェクトに役立つ場合は、装飾なしでテンプレートの上にプレーンテキストを配置できます。コンポーネントをレンダリングするときは完全に無視されます。

This is some documentation about this component
   - some
   - info
<template></template>
<script></script>
<style></style>

4

Vue Styleguidistには、ベストプラクティスが含まれており、コンポーネントにコメントを付ける方法の例が示されています。 https://vue-styleguidist.github.io/docs/Documenting.html#code-comments

しかし、一般的に...

では、テンプレートまたはHTML部分用HTMLのコメント

<!-- Comment -->

では、スクリプトセクションJavascriptのコメントを使用

// Comment
/* Comment */

、スタイルのセクションの使用CSSのコメント

/* comment */

0

次のヒントは、(ドキュメント化のように)コード自体にコメントすることではなく、開発中にコードのチャンクを一時的にスキップできるようにすることです。

コメントで開始タグと終了タグが必要な場合、パーサーがそれらを照合する方法が不便になる可能性があります。たとえば、次の

<!-- I want to comment this <!-- this --> and that --> 

を出力しますand that -->。同様に/* this will be commented /* and so will this */ but not this */

私の解決策は、v-if="false"(一時的に)スキップするブロックを指定するために使用することです。

<template>
<div>
    Hello
    <div v-if="false">
        Vue will not process whatever's in here.
    </div>
    World!
</div>
</template>

これは、コードを文書化するための適切なコメントの代わりに使用しないでください。これは、開発中にスキップするブロックをより細かく制御するための便利な方法です。


-2

私はVue.jsの初心者ですが//、コードはとにかくjavascriptなので、動作するはずです。ドキュメントを見ると、この例が見つかります。javascriptの最初の2行を見ると、コメントが表示されます//

javascriptリンクファイルの例:

// Full spec-compliant TodoMVC with localStorage persistence
// and hash-based routing in ~120 effective lines of JavaScript.

...

1
しかし、これは内部に動作しないtemplateタグが、内部のscriptタグ
Pavindu
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.