1. 程式人生 > >快速入門vue-cli配置

快速入門vue-cli配置

const utils = require('./utils')
const webpack = require('webpack')
const config = require('../config')
const merge = require('webpack-merge')
const path = require('path')
const baseWebpackConfig = require('./webpack.base.conf')

//一個負責拷貝資源的外掛
const CopyWebpackPlugin = require('copy-webpack-plugin')

const HtmlWebpackPlugin 
= require('html-webpack-plugin') //一個更友好的展示webpack錯誤提示的外掛 const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') //一個自動檢索埠的包 const portfinder = require('portfinder') const HOST = process.env.HOSTconst PORT = process.env.PORT && Number(process.env.PORT) const devWebpackConfig
= merge(baseWebpackConfig, { module: { rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true }) }, devtool: config.dev.devtool, // devServer的配置大家看文件就好了 devServer: { clientLogLevel: 'warning', historyApiFallback: { rewrites: [ { from:
/.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') }, ], }, hot: true, contentBase: false, compress: true, host: HOST || config.dev.host, port: PORT || config.dev.port, open: config.dev.autoOpenBrowser, overlay: config.dev.errorOverlay ? { warnings: false, errors: true } : false, publicPath: config.dev.assetsPublicPath, proxy: config.dev.proxyTable, quiet: true, watchOptions: { poll: config.dev.poll, } }, plugins: [ //還記得之前說的生產環境和開發環境的變數在哪兒定義的嗎?對,就是這裡 new webpack.DefinePlugin({ process.env: require('../config/dev.env') }), //模組熱替換的外掛,修改模組不需要重新整理頁面 new webpack.HotModuleReplacementPlugin(), //當使用HotModuleReplacementPlugin時,這個外掛會顯示模組正確的相對路徑 new webpack.NamedModulesPlugin(), //在編譯出錯時,使用NoEmitOnErrorsPlugin來跳過輸出階段,這樣可以確保輸出資源不會包含錯誤 new webpack.NoEmitOnErrorsPlugin(), new HtmlWebpackPlugin({ filename: 'index.html', template: 'index.html', inject: true }), // 將static資料夾和裡面的內容拷貝到開發模式下的路徑,比如static下有個img資料夾,裡面有張圖片 // 我們可以這樣訪問:localhost:8080/static/img/logo.png new CopyWebpackPlugin([ { from: path.resolve(__dirname, '../static'), to: config.dev.assetsSubDirectory, ignore: ['.*'] } ]) ] }) //這裡主要是做埠的檢索以及npm run dev後對錯誤的處理,我們可以看這裡使用了前面引入的 //'friendly-errors-webpack-plugin'外掛 module.exports = new Promise((resolve, reject) => { portfinder.basePort = process.env.PORT || config.dev.port portfinder.getPort((err, port) => { if (err) { reject(err) } else { // publish the new Port, necessary for e2e tests process.env.PORT = port // add port to devServer config devWebpackConfig.devServer.port = port // Add FriendlyErrorsPlugin devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({ compilationSuccessInfo: { messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`], }, onErrors: config.dev.notifyOnErrors ? utils.createNotifierCallback() : undefined })) resolve(devWebpackConfig) } }) })

相關推薦

快速入門vue-cli配置

const utils = require('./utils') const webpack = require('webpack') const config = require('../config') const merge = require('webpack-merge') const path

vue-cli配置postcss

fig plugins mod all port exp gin com css 1. npm install postcss-cssnext -D npm install postcss-import -D npm install postcss-loader-D 2.

webpack快速入門——插件配置:HTML文件的發布

文件 mlp image cnblogs logs 快速入門 npm webpack blog 1.把dist中的index.html復制到src目錄中,並去掉我們引入的js 2.在webpack.config.js中引入 const htmlPlugin = requi

vue-cli 配置項目名和域名

bsp cal mage ges run 圖片 反向 http image 默認運行 npm run dev 域名為localhost:8080 但是需要配置反向代理,這時候就需要去配置域名跟項目名 vue-cli 配置項目名和域名

手撕vue-cli配置文件——check-versions.js篇

pac 更多 分代 常用 改變 engines shell. 檢測 emp check-versions.js,vue-cli中檢查版本的js文件。 ‘use strict‘ const chalk = require(‘chalk‘) const semver = re

vue-cli配置axios,並基於axios進行後臺請求函式封裝

文章https://www.cnblogs.com/XHappyness/p/7677153.html已經對axios配置進行了說明,後臺請求時可直接this.$axios直接進行。這裡的缺點是後端請求會散亂在各個元件中,導致複用和維護艱難。 升級:將請求封裝在一個檔案中並加上型別宣告 步驟: &nbs

Vue -- ES6 快速入門,Vue初識

一、ES6快速入門 let和const  let ES6新增了let命令,用於宣告變數。其用法類似var,但是宣告的變數只在let命令所在的程式碼塊內有效。 { let x = 10; var y = 20; } x // Referenc

vue-cli配置多頁面專案

背景:vue-cli版本3.0   省略初始化專案;預設的App.vue和index.html檔案可以刪掉 頁面結構如上圖,新加的home可以不要,注意下面的檔案路徑就行   接下來修改配置檔案: 1、修改build/utils.js /* 這裡是新

新手入門vue-cli建立專案

建立專案之前的準備環境 1、安裝node.js環境及npm或者yarn包管理工具 **2、安裝webpack-cli 命令:npm install webpack-cli -g ; 檢視是否安裝成功webpack-cli -v ** 3、安裝vue-cli腳手架命令:npm in

vue-cli配置檔案——config資料夾

首先我們先看一下config的檔案結構: |-config |—dev.env.js |—index.js |—prod.env.js 開啟我們的vue專案資料夾我們可以清楚的看到資料夾下的三個檔案,“dev.env.js”,“index.js”,“prod.e

vuejs第二篇 vue-cli配置移動端自適配(引入flexible)

原文網址 http://hjingren.cn/2017/06/16/%E5%9F%BA%E4%BA%8Evue-cli%E9%85%8D%E7%BD%AE%E7%A7%BB%E5%8A%A8%E7%AB%AF%E8%87%AA%E9%80%82%E5%BA%94/ 1.

快速瞭解vue-cli 3.0 新特性

vue-cli 是 vue 官方團隊推出的一款快速開發 vue 專案的構建工具,具有開箱即用並且提供簡潔的自定義配置等功能。 vue-cli 從 2.0 到 3.0 的升級有太多的新東西可以說了,但是不可能在本文中列舉所有的內容,這篇文章作為一個對比 2.0 升級功能的導讀,

vue-cli配置自定義路徑

resolve: { extensions: ['.js', '.vue', '.json'], alias: { '@':resolve('../src'), 'common': path.resolve(__dirname, '../src/common'),

Android開發快速入門(環境配置、Android Studio安裝)

Android是一種激動人心的開源移動平臺,它像手機一樣無處不在,得到了Google以及其他一些開放手機聯盟成員(如三星、HTC、中國移動、Verizon和AT&T等)的支援,因而不能不加以學習,否則你承擔不起為此付出的代價。 好在Android開發入門很容易,即使沒有Android手機都沒關係,只

手撕vue-cli配置檔案——check-versions.js篇

check-versions.js,vue-cli中檢查版本的js檔案。 'use strict' const chalk = require('chalk') const semver = require('semver') const packageConfig = require('../packag

手撕vue-cli配置——utils.js篇

utils.js檔案主要是用來處理各種css loader的,比如css-loader,less-loader等。 //引入path模組 const path = require('path') //引入之前的config模組 const config = require('../config') //

手撕vue-cli配置——webpack.prod.conf.js篇

'use strict' const path = require('path') const utils = require('./utils') const webpack = require('webpack') const config = require('../config') const me

手撕vue-cli配置——webpack.dev.conf.js篇

const utils = require('./utils') const webpack = require('webpack') const config = require('../config') const merge = require('webpack-merge') const path

手撕vue-cli配置——webpack.base.conf.js篇

在開始寫webpack.base.conf.js(簡稱base)之前,我們先來看一下vue-loader.conf.js這個檔案,畢竟在base中我們還會用到: 'use strict' //引入前一篇文章的utils檔案 const utils = require('./utils') //引入conf

手撕vue-cli配置檔案——config篇

最近一直在研究webpack,突然想看看vue-cli中的webpack是如何配置,查閱了很多相關的文章,所以也想出幾篇關於vue-cli配置的東西。正所謂“工欲善其事必先利其器”嘛!這一篇主要是分析vue中關於config資料夾中的相關程式碼; 首先我們先看一下config的檔案結構: |-config