Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
ASP.NET Core MVC webpackを使用してimportしたい
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30648#CommentId84758
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
yu
 (社会人)
投稿日時
2021/10/17 11:51:28
>>るきおさん
お返事遅くなってすみません。
いま、ある情報からvue-cliを使わずにwebpack経由でimportを利用できる方法を教えていただきました。
bundleで圧縮する必要もないようです。
また、ASP.NET Core MVCの設定次第で、wwwroot以外にも置ける可能性があります。
とりあえず試行なので、wwwrootフォルダに置いたまま試しています。
以下のコードが入手できたものです。
課題として、HtmlWebpackPluginの使い方を調べているのですが、ちょっとわかっていないです。
もしわかれば教えていただきたいですが、これは使用したいファイルのパスを全て指定する必要があるのでしょうか?
また、これは.vueファイルを使う前提となっているので、そもそもsrcフォルダを置かないといけないのかもしれません。
そもそも、Viewのhtmlとjavascriptを別フォルダにするというのが、Vueの流儀にあっていないかも。
教えてもらったVueの基本はこのようでした。
/src
- App.vue ・・・ templateとjavascript、cssの本体(よくある templateとimport, exportを使用しているコード)
- index.html ・・・ vueの<div id="app">の指定と.vueファイルのtemplateタグの使用
main.jsを読み込んでいるところが見当たらなかった。
- main.js ・・・ vueをrequiredで読み込み、App.vueをimport、createAppだけしていた。
実現したかった事はhtmlで簡単にjavascript moduleとして使いたいと思ってましたが、Vueの基本から考えないといけないかもです。
-package.json-
{
"name": "vue3webpack",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "npm test",
"start": "webpack-dev-server --mode development"
},
"author": "",
"license": "ISC",
"devDependencies": {
"@babel/core": "^7.15.8",
"@babel/preset-env": "^7.15.8",
"@vue/compiler-sfc": "^3.2.20",
"babel-loader": "^8.2.2",
"css-loader": "^6.4.0",
"html-webpack-plugin": "^5.3.2",
"rimraf": "^3.0.2",
"vue": "^3.2.20",
"vue-loader": "^16.8.1",
"vue-style-loader": "^4.1.3",
"webpack": "^5.58.2",
"webpack-cli": "^4.9.0",
"webpack-dev-server": "^4.3.1"
},
"dependencies": {
"@vue/reactivity": "^3.2.20",
"vue-class-component": "8.0.0-rc.1"
}
}
--
-.babelrc.js-
module.exports = {
presets: ['@babel/preset-env'],
}
--
-webpack.config.js-
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { VueLoaderPlugin } = require('vue-loader')
module.exports = {
entry: './src/main.js',
module: {
rules: [
{ test: /\.js$/, use: 'babel-loader' },
{ test: /\.vue$/, use: 'vue-loader' },
{ test: /\.css$/, use: ['vue-style-loader', 'css-loader']},
]
},
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html',
}),
new VueLoaderPlugin(),
]
};
--