「old/vue.js/setup」の版間の差分
提供: 個人的記録
(→インストール) |
細 (Gonbe がページ「vue.js/setup」を「old/vue.js/setup」に、リダイレクトを残さずに移動しました) |
||
| (同じ利用者による、間の6版が非表示) | |||
| 1行目: | 1行目: | ||
| − | [[Category: | + | [[Category:old/vue.js]] |
昔、[[vue.js/setup browserfy|browserfy]]でやってたのをメモしていたが、どうにもwebpackのほうが便利そうなので書き直し。 | 昔、[[vue.js/setup browserfy|browserfy]]でやってたのをメモしていたが、どうにもwebpackのほうが便利そうなので書き直し。 | ||
| 16行目: | 16行目: | ||
== package.json == | == package.json == | ||
webpack-dev-serverを使えるように package.json に以下のように dev の設定を記述する。<br> | webpack-dev-serverを使えるように package.json に以下のように dev の設定を記述する。<br> | ||
| − | webpack4からは --mode 指定が必要。 | + | webpack4からは --mode 指定が必要。<br> |
| + | buildもwebpackでやるので記述しておく。 | ||
<pre> | <pre> | ||
"scripts": { | "scripts": { | ||
"test": "echo \"Error: no test specified\" && exit 1", | "test": "echo \"Error: no test specified\" && exit 1", | ||
| − | "dev": "webpack-dev-server --mode development --hot" | + | "build": "webpack", |
| + | "dev": "webpack-dev-server --mode development --hot", | ||
} | } | ||
</pre> | </pre> | ||
== webpack.config.js == | == webpack.config.js == | ||
| − | webpack.config. | + | webpack.config.jsを作成してビルド周りの設定を定義。<br> |
| + | vue-loader 15から VueLoaderPlugin の設定が必要。 | ||
<pre> | <pre> | ||
// webpack.config.js | // webpack.config.js | ||
| + | const VueLoaderPlugin = require('vue-loader/lib/plugin') //VueLoaderPluginが必要になった | ||
module.exports = { | module.exports = { | ||
| − | entry: './src/index.js', | + | entry: './src/index.js', //ソースファイルの場所 |
output: { | output: { | ||
| − | filename: 'bundle.js', | + | filename: 'bundle.js', //コンパイルで生成するファイル |
| − | path: `${__dirname}/dest`, | + | path: `${__dirname}/dest`, //出力先。${__dirname} がルートディレクトリっぽい |
}, | }, | ||
module: { | module: { | ||
| 48行目: | 52行目: | ||
loader: 'sass-loader', | loader: 'sass-loader', | ||
}, | }, | ||
| + | { | ||
| + | test: /\.lless$/, | ||
| + | use: [ | ||
| + | 'vue-style-loader', | ||
| + | 'css-loader', | ||
| + | 'less-loader' | ||
| + | ] | ||
| + | } | ||
] | ] | ||
}, | }, | ||
| 57行目: | 69行目: | ||
}, | }, | ||
devServer: { | devServer: { | ||
| − | contentBase: ' | + | contentBase: 'dest', |
}, | }, | ||
| + | plugins: [ | ||
| + | new VueLoaderPlugin() //PluginにVueLoaderPluginを定義する | ||
| + | ], | ||
} | } | ||
</pre> | </pre> | ||
2021年3月27日 (土) 21:26時点における最新版
昔、browserfyでやってたのをメモしていたが、どうにもwebpackのほうが便利そうなので書き直し。
インストール
vue-loader15からwebpackで使うにはvue-loader-options-pluginが必要になったのでインストール。
npm init npm install --save-dev webpack webpack-dev-server npm install --save-dev webpack-cli npm install --save vue npm install --save-dev vue-loader vue-template-compiler css-loader vue-loader-options-plugin npm install --save-dev babel-loader babel babel-core babel-preset-es2015 npm install --save-dev sass-loader node-sass
package.json
webpack-dev-serverを使えるように package.json に以下のように dev の設定を記述する。
webpack4からは --mode 指定が必要。
buildもwebpackでやるので記述しておく。
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack",
"dev": "webpack-dev-server --mode development --hot",
}
webpack.config.js
webpack.config.jsを作成してビルド周りの設定を定義。
vue-loader 15から VueLoaderPlugin の設定が必要。
// webpack.config.js
const VueLoaderPlugin = require('vue-loader/lib/plugin') //VueLoaderPluginが必要になった
module.exports = {
entry: './src/index.js', //ソースファイルの場所
output: {
filename: 'bundle.js', //コンパイルで生成するファイル
path: `${__dirname}/dest`, //出力先。${__dirname} がルートディレクトリっぽい
},
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader',
},
{
test: /\.js$/,
loader: 'babel-loader?presets=es2015',
},
{
test: /\.(css|sass|scss)$/,
loader: 'sass-loader',
},
{
test: /\.lless$/,
use: [
'vue-style-loader',
'css-loader',
'less-loader'
]
}
]
},
resolve: {
extensions: ['.js', '.vue'],
alias: {
vue$: 'vue/dist/vue.esm.js',
},
},
devServer: {
contentBase: 'dest',
},
plugins: [
new VueLoaderPlugin() //PluginにVueLoaderPluginを定義する
],
}