Vue__npm run build npm run dev

npm run build npm run dev

一、以前一直错的做法

   以前,git完项目之后就,执行1.npm install 2.npm run build 3.npm run dev.今天main.js中有一句

window.HOST = HOST,查看在webpack.base.conf.js中找到源码
// define the different HOST between development and production environment
var DEV_HOST = JSON.stringify('http://10.9.240.9:8088/api/')
var PUB_HOST = JSON.stringify('/api') module.exports = {
entry: {
app: './src/main.js'
},
output: {
path: config.build.assetsRoot,
publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath,
filename: '[name].js'
},
eslint: {
configFile: './.eslintrc.json'
},
plugins: [
new webpack.DefinePlugin({
HOST: process.env.NODE_ENV === 'production' ? PUB_HOST : DEV_HOST
})
]

在config-->index.js中定义的build和dev

// see http://vuejs-templates.github.io/webpack for documentation.
var path = require('path') module.exports = {
build: { // production 环境
env: require('./prod.env'), // 使用 config/prod.env.js 中定义的编译环境
index: path.resolve(__dirname, '../manage/index.html'), // 编译输入的 index.html 文件
assetsRoot: path.resolve(__dirname, '../manage/'),// 编译输出的静态资源路径
assetsSubDirectory: 'static', // 编译输出的二级目录 assetsPublicPath: './', // 编译发布的根目录,可配置为资源服务器域名或 CDN 域名
productionSourceMap: true, //是否开启 cssSourceMap productionGzip: false, // 是否开启 gzip
productionGzipExtensions: ['js', 'css'] // 需要使用 gzip 压缩的文件扩展名
},
dev: {
env: require('./dev.env'), // 使用 config/dev.env.js 中定义的编译环境
port: 8088, // 运行测试页面的端口
assetsSubDirectory: 'static', // 编译输出的二级目录
assetsPublicPath: '/', // 编译发布的根目录,可配置为资源服务器域名或 CDN 域名
proxyTable: { // 需要 proxyTable 代理的接口(可跨域)
'/api': {
// target: 'http://10.9.65.114:8005', // target: 'http://10.9.240.3:8020',
// DAT
target: 'http://10.9.240.9:8020',
// Localhost
// target: 'http://10.9.240.14:8020',
pathRewrite: {
'^/api': '/'
}
}
}, cssSourceMap: false
}
}

在package.json中定义npm run build 和  dev 对应的指令

{
"name": "cloud-vue",
"version": "1.0.0",
"description": "cloud-vue made by vue2.0",
"scripts": {
"dev": "node build/dev-server.js",
"build": "node build/build.js"
},

那么接着看这俩文件

// https://github.com/shelljs/shelljs
require('./check-versions')()
require('shelljs/global')
env.NODE_ENV = 'production' var path = require('path')
var config = require('../config')
var ora = require('ora')
var webpack = require('webpack')
var webpackConfig = require('./webpack.prod.conf')
var spinner = ora('building for production...')
spinner.start()
var assetsPath = path.join(config.build.assetsRoot, config.build.assetsSubDirectory)
rm('-rf', assetsPath)
mkdir('-p', assetsPath)
cp('-R', 'static/*', assetsPath)
webpack(webpackConfig, function (err, stats) {
spinner.stop()
if (err) throw err
process.stdout.write(stats.toString({
colors: true,
modules: false,
children: false,
chunks: false,
chunkModules: false
}) + '\n')
})

在build-->dev-server.js中

require('./check-versions')()
var config = require('../config')
if (!process.env.NODE_ENV) process.env.NODE_ENV = config.dev.env
var path = require('path')
var express = require('express')
var webpack = require('webpack')
var opn = require('opn')
var proxyMiddleware = require('http-proxy-middleware')
var webpackConfig = require('./webpack.dev.conf')

  

那么就解释了 Host 的值 dev 时候走的第15行,build的时候走的第16行,本地执行npm run  dev就执行了,不必要执行npm run build 这个是为生成namage对应的文件包,用于上传服务器的

Vue__npm run build npm run dev

  

 

  

atzhang  

上一篇:VMware虚拟机与主机共享文件夹


下一篇:android 资源