Vue: webpack js basic structure
Posted Nyan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue: webpack js basic structure相关的知识,希望对你有一定的参考价值。
vue webpack所用基础包:
nom install vue vue-loader webpack webpack-cli webpack-dev-server vue-template-compiler
package.json:
{ "name": "vue2.x_demo", "version": "1.0.0", "description": "vue webpack", "main": "index.js", "scripts": { "test": "echo "Error: no test specified" && exit 1", "build": "webpack --config webpack.config.js --mode development", "start": "webpack-dev-server --config webpack.config --mode development" }, "keywords": [ "vue" ], "author": "Nyan Shen", "license": "ISC", "dependencies": { "vue": "^2.6.10" }, "devDependencies": { "css-loader": "^2.1.1", "html-webpack-plugin": "^3.2.0", "vue-loader": "^15.7.0", "vue-template-compiler": "^2.6.10", "webpack": "^4.29.5", "webpack-cli": "^3.2.3", "webpack-dev-server": "^3.1.14", "webpack-merge": "^4.2.1" } }
webpack.config.js basic config
const path = require(‘path‘); const webpack = require(‘webpack‘); const {VueLoaderPlugin} = require(‘vue-loader‘); const HtmlWebpackPlugin = require(‘html-webpack-plugin‘); module.exports = { entry: path.join(__dirname, ‘src/index.js‘), output: { filename: ‘bundle.js‘, path: path.join(__dirname, ‘dist‘) }, module: { rules: [ { test: /.vue$/, use: ‘vue-loader‘ }, { test: /.css$/, use: ‘css-loader‘ } ] }, plugins: [ new webpack.DefinePlugin({ ‘process.env.NODE_ENV‘: JSON.stringify(‘development‘) }), new HtmlWebpackPlugin({ template: path.join(__dirname, "src/index.html"), filename: ‘index.html‘ }), new VueLoaderPlugin() ], devServer: { port: 8088, historyApiFallback: true, proxy: { ‘/api/*‘: { target: ‘localhost:12306‘, changeOrigin: true } } } }
index.js. entry file:
import Vue from "vue"; import App from "./app.vue"; const root = document.getElementById(‘root‘); new Vue({ render: (h) => h(App) }).$mount(root)
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="theme-color" content="#000000"> <title>vue Webpack</title> </head> <body> <div id="root"></div> </body> </html>
app.vue component
<template> <div class="test">{{test}}</div> </template> <script> export default { data() { return { test: "Hello Vue" } } } </script> <style> .test { color: red; } </style>
以上是关于Vue: webpack js basic structure的主要内容,如果未能解决你的问题,请参考以下文章
Vue + Typescript + Webpack:模块构建失败 - 找不到 vue.esm.js
Vue.config.js 无法识别 require('webpack')