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

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

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

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

Markdown

Markdownは、文書の構造、修飾情報を記述するための軽量マークアップ言語です。

Q&A

1回答

3979閲覧

markdown-to-vue-loaderでmdファイルがimportできない

yu-ki0

総合スコア69

Vue.js

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

Markdown

Markdownは、文書の構造、修飾情報を記述するための軽量マークアップ言語です。

0グッド

0クリップ

投稿2019/06/01 18:30

編集2022/01/12 10:55

markdownファイルをvueコンポーネント内で読み込みたいのですが、パースに失敗してしまっているようで動きません。
以下のエラーの解決方法を教えてもらえますでしょうか。

参考サイト
https://qiita.com/seigo-pon/items/d2695e830e234b02cdbe
https://github.com/fengyuanchen/markdown-to-vue-loader

Module parse failed: Unexpected token (1:0) You may need an appropriate loader to handle this file type. > <template> | <div class="main"><h1>test markdown preview</h1> | </div> @ ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/homeContent.vue?vue&type=script&lang=js& 10:0-38 22:20-22 @ ./src/components/homeContent.vue?vue&type=script&lang=js& @ ./src/components/homeContent.vue @ ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/Home.vue?vue&type=script&lang=js& @ ./src/views/Home.vue?vue&type=script&lang=js& @ ./src/views/Home.vue @ ./src/router.js @ ./src/main.js @ multi (webpack)-dev-server/client?http://192.168.1.30:8080/sockjs-node (webpack)/hot/dev-server.js ./src/main.js

vue.config.jsやpackage.json、サンプルのmarkdownファイルは以下になります。

vue.config.js

javascript

1module.exports = { 2 chainWebpack: config => { 3 config.module 4 .rule('md') 5 .test(/.md$/) 6 .use('vue-loader') 7 .loader('markdown-to-vue-loader') 8 .options({ 9 exportSource: true, 10 }) 11 .end(); 12 }, 13 devServer: { 14 watchOptions: { 15 ignored: /node_modules/, 16 }, 17 }, 18}; 19

package.json

json

1{ 2 "name": "example", 3 "version": "0.1.0", 4 "private": true, 5 "scripts": { 6 "serve": "vue-cli-service serve", 7 "build": "vue-cli-service build", 8 "lint": "vue-cli-service lint", 9 "test:unit": "vue-cli-service test:unit" 10 }, 11 "dependencies": { 12 "element-ui": "^2.4.5", 13 "marked": "^0.6.2", 14 "vue": "^2.6.6", 15 "vue-router": "^3.0.1", 16 "vuex": "^3.0.1" 17 }, 18 "devDependencies": { 19 "@vue/cli-plugin-babel": "^3.5.0", 20 "@vue/cli-plugin-eslint": "^3.5.0", 21 "@vue/cli-plugin-unit-jest": "^3.5.0", 22 "@vue/cli-service": "^3.5.0", 23 "@vue/eslint-config-prettier": "^4.0.1", 24 "@vue/test-utils": "1.0.0-beta.29", 25 "babel-core": "7.0.0-bridge.0", 26 "babel-eslint": "^10.0.1", 27 "babel-jest": "^23.6.0", 28 "eslint": "^5.8.0", 29 "eslint-plugin-vue": "^5.0.0", 30 "file-loader": "^3.0.1", 31 "lint-staged": "^8.1.4", 32 "markdown-to-vue-loader": "^1.0.1", 33 "node-sass": "^4.9.2", 34 "sass-loader": "^7.1.0", 35 "vue-cli-plugin-element": "^1.0.1", 36 "vue-template-compiler": "^2.5.21" 37 }, 38 "gitHooks": { 39 "pre-commit": "lint-staged" 40 }, 41 "lint-staged": { 42 "*.{js,vue}": [ 43 "vue-cli-service lint", 44 "git add" 45 ] 46 } 47}

markdown

1# test markdown preview

回答よろしくお願いいたします

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

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

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

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

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

guest

回答1

0

vue.config.jsで下のようにすればできました。

vue.config.js

js

1module.exports = { 2 configureWebpack: { 3 module: { 4 rules: [ 5 { 6 test: /.md$/, 7 exclude: /node_modules/, 8 use: [ 9 'vue-loader', 10 { 11 loader: 'markdown-to-vue-loader', 12 }, 13 ], 14 }, 15 ], 16 } 17 } 18}

普通にvue componentとしてimportできます。

js

1import bla from "@/bla.md" 2 3export default { 4 components: { 5 bla 6 } 7}

Demo (Glitch) (画面上のShowボタンでプレビューが見れます)

投稿2019/06/02 09:31

karamarimo

総合スコア2551

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

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

yu-ki0

2019/06/05 21:52

回答ありがとうございます。 無知で申し訳ないのですが、’configureWebpack’と'chainWebpack'の違いはなんなのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問