最近作項目使用的是RAP1的接口,可是昨天開始,RAP1 出現了問題,接口都不能用了。
因此補充一下Mock.js的用法,以便在這種突發的狀況時候時本身經過Mock的方式來處理接口。css
npm init
是用來裝package.json
的npm init --yes
安裝一個默認的package.json
npm install —save
,若是你在安裝一個用於開發環境的安裝包(例如,linter, 測試庫等),你應該使用npm install —save-dev
。dependencies
模塊(這些包在生產中須要)$ npm install mockjs -S 或者 $ npm install mockjs --save
devDependencies
模塊(這些包用於開發和測試)//安裝到你項目的目錄 $ npm install webpack -D //全局安裝 不建議用 $ npm install -g webpack
//下載Mock,並在頁面引入Mock import Mock from mock.js let Random = Mock.Random let data = Mock.mock({ "lists|6": [ { "id|10000-99999": 1, "img": "@image(178x178,@color)", "name": "@ctitle", "price|1-100.2-2": 1 } ] })
npm install vue-cli -g
vue init webpack demo
npm run dev
npm run build
,打包完成後目錄下會多一個dist的文件夾npm install webpack -D
npm install webpack webpack-cli —-save-dev
node_modules/.bin/webpack 入口文件路徑 打包文件存放地址
,如node_modules/.bin/webpack src/app.js dist/bundle.js
webpack
(全局安裝)或者node_modules/.bin/webpack
(本地安裝)便可,方法以下://創建一個文件‘webpack.config.js’,文件中代碼以下: module.exports = { entry: __dirname + "入口文件地址", output: { path: __dirname + "打包後的文件存放路徑", filename: "打包後輸出文件的文件名" } } //其中’__dirname’ 是node.js中的一個全局變量,它指向當前執行腳本所在的目錄。
npm start
便可,方法以下://package.json中對scripts對象進行設置 { "name": "webpack-sample-project", "version": "1.0.0", "description": "Sample webpack project", "scripts": { "start": "webpack" // scripts中的內容換成這個 }, "author": "he", "license": "ISC", "devDependencies": { "webpack": "3.10.0" } }
anywhere
npm i -g anywhere
裝一個anywhere
,做用是調試用,能直接打開頁面,比http-server
好的地方是會自動在瀏覽器打開,不用手動複製IP。可是當anywhere
的時候ctrl C
後就不能繼續用這個IP了,不ctrl C
又須要從新開一個命令行,解決辦法,用anywhere
的時候用如右命令便可anywhere &
package.json
之entry
entry
參數能夠接受字符串、對象、函數(也能夠接受Promise,resolve()出想要的東西就可)configFile.watch = true;
,能夠動態的監視html內代碼的改動package.json
之output
const path =require('path'); let base = { index: ./index.js }; //webpack2 提供了多種配置方案 module.exports = { output: { //導出目錄 path: path.resolve(__dirname, 'dist'), //異步內容的導出目錄。實際用的時候通常都會寫成CDN publicPath: "/output/dist/", // server-relative //包規範格式 libraryTarget:'umd', //有umd,這個包的會兼容commonjs、amd等 library: "MyLibrary", //一個包即一個變量var MyLibrary //文件名 通常用於異步加載 chunkFilename:'[chunkhash]_[name].js', //hash位數 hashDigestLength:3, //導出文件 //hash ==> webpack編譯過程(如用hash多個文件的前三位hash值同樣) //chunkhash => webpack對每一個文件的hash,每次文件改動hash值的改變 filename: '_[name][chunkhash].js' } };
package.json
之module
module.exports = { module:{ //rules裏面的東西是對文件進行預處理 //文件處理的通常路徑是:entry-->rules-->webpack-->output rules:[ // Conditions, Results and nested Rules. { //若是知足這個正則,再用use去處理 test: /\.jsx?$/, //加這句的目的是,若是知足正則的內容是在node_modules目錄下,則不需用use去處理它 exclude: [ 'node_modules' ], // flags to apply these rules, even if they are overridden (advanced option) // loader: "babel-loader", 這種方式也能夠用,用來兼容用的 // rule.use是數組形式和rule.loaders是它的別名 use:[{ loader: "babel-loader", }] }, ] } };
package.json
之resolve
module.exports = { //一個js引用別的js的時候能夠用resolve。 //別名的好處是更加利於代碼的維護 resolve:{ alias:{ //path.resolve()返回一個絕對路徑 test:path.resolve(__dirname,'test/test/test.js') } }, module:{ rules:[ ] } };
package.json
之devtool
module.exports = { //能讓咱們更好的在原文件進行debugger // https://webpack.js.org/configuration/devtool/#devtool devtool:'source-map', //eval也能夠用 // https://webpack.js.org/configuration/target/#target target:"web" };
package.json
之loader
module.exports = { module:{ rules:[ { test: /\.js[x]?$/, exclude: /node_modules/, use: { loader:'babel-loader' } }, { test: /\.css$/, use: ExtractTextPlugin.extract({ fallback: "style-loader", use:{ loader:'css-loader', options: { sourceMap: true } } }) }, { test: /\.less$/, use: ExtractTextPlugin.extract({ fallback:'style-loader', use:['css-loader',{ loader:'less-loader', options: { sourceMap: true } }] }) }, { test: /\.scss$/, use: ExtractTextPlugin.extract({ fallback:'style-loader', use:['css-loader',{ loader:'sass-loader', options: { sourceMap: true } }] }) }, { test: /\.(png|jpg|jpeg|gif|woff|woff2|ttf|eot|svg|swf)$/, use: { loader:'file-loader', options:{ name:'[name]_[sha512:hash:base64:7].[ext]' } } }, { test: /\.html/, use:{ loader:"html-loader", options:{ minimize: false, attrs:false } } } ] } };
package.json
之plugins
module.exports = { //Webpack lifecycle Webpack編譯的不一樣階段。plugins嵌入每一個Webpack lifecycle去作一些個性化的行爲 // webpack lifecycle :before-complitaion run done => plugins:[ new webpack.ProvidePlugin({ $: 'jquery' }), new WebpackNotifierPlugin({ title: 'Webpack 編譯成功', contentImage: path.resolve(process.cwd(), './img/avatar.jpeg'), alwaysNotify: true }), new ExtractTextPlugin({ filename: "[name].css", disable: false, allChunks: true }), //若是用了CommonsChunkPlugin則必須先引用common後面的文件纔會生效。因此要先引用common再引入index new webpack.optimize.CommonsChunkPlugin({ name: 'common', minChunks: Infinity }) ], };
WARNING in configuration The ‘mode’ option has not been set. Set ‘mode’ option to ‘development’ or ‘production’ to enable defaults for this environment
//配置文件 mode: 'development' mode: 'production'
//命令行 $ webpack —mode development $ webpack —mode production