今天咱们来经过webpack
前端构架工具去搭建一个vue
的项目。首先来边学边作一些测试,以后会有第二篇、第三篇...css
// 建立项目目录 mkdir webpack_todo cd webpack_todo
npm 初始化
npm init // 以后会经过npm初始化咱们的项目文件 // 随之生成一个package.json,咱们开发的依赖包都会显示在这个里面哦
目录完善
-src - assets - images - 01.jpg - 02.jpg - 03.jpg - styles - test.css - test.style.styl - app.vue // 模板文件 - index.js // 入口文件 -package.json -webpack.config.js
安装依赖
cnpm install --save-dev vue vue-laoder webpack webpack-cli css-laoder vue-template-compiler // 以后目录下会出现一个`node_modules`的文件夹,该文件夹下面将会是咱们全部的依赖包
完善文件内容
// app.vue // vue组件的三元素 <template> <div id="app">{{test}}</div> </template> <script> export default { data() { return { test: "test" }; } }; </script> <style scoped> #app{ color: #ccc; } </style>
// index.js import Vue from 'vue' // 引入vue import App from './app.vue' // 引入app组件 import './assets/images/02.jpg' import './assets/styles/test.css' import './assets/styles/test-style.styl' const root = document.createElement('div'); // 根节点 document.body.appendChild(root); new Vue({ render: (h)=> h(App) // 将App渲染至根节点 }).$mount(root) // 挂载到根节点
// webpack.config.js const path = require('path') module.exports = { mode: 'development', entry: path.join(__dirname, 'src/index.js'), output:{ filename: 'bundle.js', path: path.join(__dirname, 'dist') }, module: { rules: [ { test: /\.vue$/, loader: 'vue-loader' // 处理vue }, { test: /\.css$/, // 处理css use: [ 'style-loader', 'css-loader' ] }, { test: /\.(png|jpg|gif|svg|jpeg)$/, // 处理图片 use: [ { loader: 'url-loader', options: { limit: 30000, name: '[name]-[hash].[ext]' } } ] }, { test: /\.styl$/, // 处理 stylus use: [ 'style-loader', 'css-loader', 'stylus-loader' ] } ] } }
// package.json // 列出package.json { "name": "webpack_todo", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "webpack --config webpack.config.js" // 这里设置 npm run build }, "author": "", "license": "ISC", "devDependencies": { "css-loader": "^0.28.11", "file-loader": "^1.1.11", "style-loader": "^0.20.3", "stylus": "^0.54.5", "stylus-loader": "^3.0.2", "url-loader": "^1.0.1", "vue": "^2.5.16", "vue-loader": "^14.2.2", "vue-template-compiler": "^2.5.16", "webpack": "^4.2.0", "webpack-cli": "^2.0.13" } }
build打包一次
npm run build // 会在dist目录下生成build.js 和一些图片文件
未完待续哦~~