当前位置:   article > 正文

Vue-cli3 + webpack搭建vue项目流程以及打包发布流程_vue-cli webpack部署打包自动执行访问到了webpack目录下public

vue-cli webpack部署打包自动执行访问到了webpack目录下public

目录

1.命令行初始化项目

2. 分析项目目录

3. vue.config.js多环境打包配置

4. 发布项目

5. 参考文章


1.命令行初始化项目

  1. bogon:vue xudanfeng$ vue create vue-cli-project
  2. Vue CLI v3.0.2
  3. ? Please pick a preset: Manually select features
  4. ? Check the features needed for your project: Babel, Router, Vuex, CSS Pre-proce
  5. ssors
  6. ? Use history mode for router? (Requires proper server setup for index fallback
  7. in production) Yes
  8. ? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported
  9. by default): Sass/SCSS
  10. ? Where do you prefer placing config for Babel, PostCSS, ESLint, etc.? In packag
  11. e.json
  12. ? Save this as a preset for future projects? No
  13. .....构建初始化项目阶段
  14. //构建完成项目
  15. Successfully created project vue-cli-project.
  16. ? Get started with the following commands:
  17. $ cd vue-cli-project
  18. $ yarn serve

2. 分析项目目录

  

-->public目录下index.html:设置项目的一些meta头信息和提供<div id="app"></div>用于挂载 vue 节点。

-->node_modules目录:存放项目中下载好的依赖工具包。

-->package.json文件:

     存放项目名称,版本号,dependencies和devDependencies声明了需要引用的依赖包,启动、打包项目的命令管理等。

-->src目录:我们开发的页面和资源可以放在这里。

    src下main.js:vue-cli工程的入口文件。

    src下app.vue:使用标签<route-view></router-view>渲染整个工程的.vue组件

注意:相比较vue-cli2项目config目录,build目录没有了,需要手动配置 webpack:在根目录下新建一个 vue.config.js 文件。

3. vue.config.js多环境打包配置

  1. const path = require('path');
  2. const envStr = process.env.env_config
  3. const debugUrl = (envStr === 'prod') ? 'https://mobile-app.yizuodao.com' : 'https://test-/mobile-app.yizuodao.com'
  4. module.exports = {
  5. // 基本路径
  6. baseUrl: './',
  7. // 输出文件目录
  8. outputDir: 'dist',
  9. // eslint-loader 是否在保存的时候检查
  10. lintOnSave: true,
  11. // webpack配置
  12. // see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
  13. chainWebpack: () => {},
  14. configureWebpack: (config) => {
  15. if (process.env.NODE_ENV === 'production') {
  16. // 为生产环境修改配置...
  17. config.mode = 'production';
  18. } else {
  19. // 为开发环境修改配置...
  20. config.mode = 'development';
  21. }
  22. Object.assign(config, {
  23. // 开发生产共同配置
  24. resolve: {
  25. alias: {
  26. '@': path.resolve(__dirname, './src'),
  27. '@c': path.resolve(__dirname, './src/components')
  28. }
  29. }
  30. });
  31. },
  32. // 生产环境是否生成 sourceMap 文件
  33. productionSourceMap: true,
  34. // css相关配置
  35. css: {
  36. // 是否使用css分离插件 ExtractTextPlugin
  37. extract: true,
  38. // 开启 CSS source maps?
  39. sourceMap: false,
  40. // css预设器配置项
  41. loaderOptions: {},
  42. // 启用 CSS modules for all css / pre-processor files.
  43. modules: false
  44. },
  45. // use thread-loader for babel & TS in production build
  46. // enabled by default if the machine has more than 1 cores
  47. parallel: require('os').cpus().length > 1,
  48. // PWA 插件相关配置
  49. // see https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa
  50. pwa: {},
  51. // webpack-dev-server 相关配置
  52. devServer: {
  53. open: process.platform === 'darwin',
  54. host: '0.0.0.0',
  55. port: 8080,
  56. https: false,
  57. hotOnly: false,
  58. proxy: { //设置代理
  59. '/*.json': {
  60. target: debugUrl
  61. },
  62. '/*.do': {
  63. target: debugUrl
  64. },
  65. '/*.m': {
  66. target: debugUrl
  67. },
  68. },
  69. before: (app) => {
  70. console.log(app)
  71. }
  72. },
  73. // 第三方插件配置
  74. pluginOptions: {
  75. // ...
  76. }
  77. };

4. 发布项目

方案1:

第一步:开发人员将开发完项目上传gitLab上,

第二步:构建服务器拉去gitLab上正式环境分支,进行下载依赖,构建,压缩,构建后的发布包会被传到中转站服务器:文件管理服务器集群。

第三步:运行服务器(可能是多台)会从文件服务器中拉去对应版本的相同压缩包,并解压运行。

参考地址:https://www.jb51.net/article/131307.htm

方案2:

自动部署平台jenkins,其内部原理同方案1。可以手动部署,也可以自动部署。根据gitLab提交或合并请求。

5. 参考文章

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/120410
推荐阅读
相关标签
  

闽ICP备14008679号