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

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

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

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

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

Q&A

0回答

3457閲覧

vue cliで作成したプロジェクトのvueファイルを静的htmlとしてbuild(出力)したい

aa316316

総合スコア39

Vue.js

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

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

0グッド

3クリップ

投稿2019/02/27 02:43

編集2019/02/27 03:42

前提・実現したいこと

現在vue create xxxxxコマンドで作成したvue cliのプロジェクト以下で作業を行っております。
そこで作成したvueファイルをbuildし、圧縮されていないhtmlファイルとして出力したいのですが、
yarn run buildを行うと、viewsディレクトリ以下のvueファイルの読み込み先であるApp.vueがindex.htmlとしてdistに出力されてしまい、ほかのvueファイルのhtml部分はdist/js以下にchunk-xxxx.jsファイルとして出力されてしまっているようです。

解決方法が見つからないため、どなたかアドバイスいただけませんか?

なお、css, jsファイルは圧縮されていてもかまいません。

ディレクトリの構成は以下です。

ディレクトリ構成

root/  ├ dist/  │ └ index.html/ /*ここにApp.vueのhtmlが出力されています*/  │ └ js/  │ └ app.xxxx.js/  │ └ chunk-xxxx.js/  │ └ chunk-xxxx.js.map/  │ └ css/  │ └ ap.xxxx.css/  │ └ chunk-xxxx.css/  │ └ chunk-xxxx.css.map/  ├ node_modules/  ├ public/  │ └ index.html/  ├ src/  │ └ assets/  │ └ css/  │ └ common.css/  │ └ views/ /*以下にhtmlとして静的ファイル化したいvueファイルを置いています*/  │ └ xxx.vue/  │ └ xxx.vue/  │ └ xxx.vue/  │ └ App.vue/ /*このApp.vueファイルにviews以下のファイルを読み込んで表示しているため、build時App.vueのみindex.htmlとして出力されています。*/  │ └ main.js/  │ └ router.js/  ├ package.json/  └ babel.config.js/

該当のソースコード

また、dist/index.html以下に出力されているApp.vueのhtmlも以下のように圧縮されて出力されてしまっています。
これを圧縮せず通常のhtmlとして出力することは可能でしょうか?

html

1<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=/favicon.ico><title>test</title><link href=/css/chunk-01301913.0b68ce47.css rel=prefetch><link href=/css/chunk-05c9bf46.6c11d586.css rel=prefetch><link href=/css/chunk-2ba7171f.c293360d.css rel=prefetch><link href=/css/chunk-862dcf44.3ec0193b.css rel=prefetch><link href=/css/chunk-c15c9d6c.fef98719.css rel=prefetch><link href=/js/chunk-01301913.76310ee1.js rel=prefetch><link href=/js/chunk-05c9bf46.6c6252dd.js rel=prefetch><link href=/js/chunk-2ba7171f.0eff03a0.js rel=prefetch><link href=/js/chunk-862dcf44.74e9ba62.js rel=prefetch><link href=/js/chunk-c15c9d6c.2ec4885f.js rel=prefetch><link href=/css/app.d8fb8f43.css rel=preload as=style><link href=/css/chunk-vendors.9119ad87.css rel=preload as=style><link href=/js/app.f1aa376b.js rel=preload as=script><link href=/js/chunk-vendors.024a3de2.js rel=preload as=script><link href=/css/chunk-vendors.9119ad87.css rel=stylesheet><link href=/css/app.d8fb8f43.css rel=stylesheet></head><body><noscript><strong>We're sorry but test doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/js/chunk-vendors.024a3de2.js></script><script src=/js/app.f1aa376b.js></script></body></html>

以下package.jsonファイルの内容です。

package

1{ 2 "name": "xxx", 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 }, 10 "dependencies": { 11 "vue": "^2.5.22", 12 "vue-router": "^3.0.1" 13 }, 14 "devDependencies": { 15 "@vue/cli-plugin-babel": "^3.4.0", 16 "@vue/cli-plugin-eslint": "^3.4.0", 17 "@vue/cli-service": "^3.4.0", 18 "@vue/eslint-config-prettier": "^4.0.1", 19 "babel-eslint": "^10.0.1", 20 "eslint": "^5.8.0", 21 "eslint-plugin-vue": "^5.0.0", 22 "vue-template-compiler": "^2.5.21" 23 }, 24 "eslintConfig": { 25 "root": true, 26 "env": { 27 "node": true 28 }, 29 "extends": [ 30 "plugin:vue/essential", 31 "@vue/prettier" 32 ], 33 "rules": {}, 34 "parserOptions": { 35 "parser": "babel-eslint" 36 } 37 }, 38 "postcss": { 39 "plugins": { 40 "autoprefixer": {} 41 } 42 }, 43 "browserslist": [ 44 "> 1%", 45 "last 2 versions", 46 "not ie <= 8" 47 ] 48} 49

補足

public/index.htmlには圧縮されていないApp.vueのhtmlが出力されています。
これはyarn run devを実行したときのcompile結果だと思うのですが、他のvueファイル、css, jsファイルもpublic以下に出力することはできますか?
もし可能であればbuildする必要はないと考えたので、、

追記
vue cli-servicebuild --targetでcompileするファイルを指定できるかと思いましたが、うまくいきませんでした。。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問