Vuejs基本知识(一)【项目文件夹基本结构】

Webpack下的Vuejs项目文件结构

根据前面章节,我们安装了 webpack, vue-cli, 并运行成功,看到了Vuejs的第一个页面。

那么首先,我们需要对Webpack 下的Vuejs有个全面的了解。

在我们运行了命令后,

$ vue init webpack my-project

会生成一个崭新的项目。 它的文件结构如下:

▸ build/                // 编译用到的脚本
▸ config/               // 各种配置
▸ dist/                 // 打包后的文件夹
▸ node_modules/         // node第三方包
▸ src/                  // 源代码
▸ static/               // 静态文件, 暂时无用
  index.html            // 最外层文件
  package.json          // node项目配置文件

下面我们针对重要的文件和文件夹来依次说明.

build 文件夹

这个文件夹中,保留了各种打包脚本。 是不可或缺的,不要随意修改。

展开后如下:

▾ build/
    build.js
    check-versions.js
    dev-client.js
    dev-server.js
    utils.js
    vue-loader.conf.js
    webpack.base.conf.js
    webpack.dev.conf.js
    webpack.prod.conf.js
  • build.js:

打包使用,不要修改。

  • check-versions.js:

检查npm的版本, 不要修改。

  • dev-client.js 和 dev-server.js:

是在开发时使用的服务器脚本。不要修改。(借助于node这个后端语言,我们在做vuejs开发时,可以通过 $npm run dev这个命令,打开一个小的server, 运行vuejs. )

  • utils.js

不要修改。 做一些css/sass 等文件的生成。

  • vue-loader.conf.js

非常重要的配置文件,不要修改。 内容是用来辅助加载vuejs用到的css source map等内容。

  • webpack.base.conf.js
  • webpack.dev.conf.js
  • webpack.prod.conf.js

这三个都是基本的配置文件。不要修改。

config 文件夹

跟部署和配置相关。

▾ config/
    dev.env.js
    index.js
    prod.env.js
  • dev.env.js

开发模式下的配置文件,一般不用修改。

  • prod.env.js

生产模式下的配置文件,一般不用修改。

  • index.js

很重要的文件, 定义了:

  • 开发时的端口(默认是8080),
  • 图片文件夹(默认static),
  • 开发模式下的 代理服务器. 我们修改的还是比较多的。

对于这个文件夹的内容,我们会在后续的章节中陆续进行解释(例如对于某个页面的渲染过程,如何做代理转发)

dist 文件夹

打包之后的文件所在目录,如下。

▾ dist/
  ▾ static/
    ▾ css/
        app.d41d8cd98f00b204e9800998ecf8427e.css
        app.d41d8cd98f00b204e9800998ecf8427e.css.map
    ▾ js/
        app.c482246388114c3b9cf0.js
        app.c482246388114c3b9cf0.js.map
        manifest.577e472792d533aaaf04.js
        manifest.577e472792d533aaaf04.js.map
        vendor.5f34d51c868c93d3fb31.js
        vendor.5f34d51c868c93d3fb31.js.map
    index.html

可以看到,对应的css, js, map, 都在这里。

请大家注意 文件名中的无意义的字符串,这个是随机生成的。 目的是为了让文件名发生变化 ,方便我们的部署,也方便Nginx服务器重新对该文件做缓存。

  • app.css : 编译后 的CSS 文件
  • app.js : 最核心的js 文件. 几乎所有的代码逻辑都会打包到这里。
  • manifest.js : 生成的周边js 文件
  • vendor.js : 生成的vendor.js 文件

另外,每个 .map 文件都非常重要。 可以简单的认为,有了 .map 文件,我们的浏览器就可以先下载整个的.js 文件,然后在后续的操作中“部分加载” 对应的文件。

切记: 这个文件夹不要放到git中。 因为每次编译之后,这里的文件都会发生变化。

node_modules 文件夹

node项目所用到的第三方包,特别多,特别大。 $ npm install 所产生。 所有在 package.json 中定义的第三方包都会出现在这里。

package.json :

  // ...
  "dependencies": {
    "vue": "^2.3.3",
    "vue-resource": "1.3.3",
    "vue-router": "^2.3.1",
    "vuex": "^2.3.1"
  },
  "devDependencies": {
    "autoprefixer": "^6.7.2",
    "babel-core": "^6.22.1",
    "babel-loader": "^6.2.10",
    "babel-plugin-transform-runtime": "^6.22.0",
    "babel-preset-env": "^1.3.2",
    "babel-preset-stage-2": "^6.22.0",
    "babel-register": "^6.22.0",
    //...
  }
  // ...

node_modules 文件夹里面往往会有几百个文件夹,看起来如下:

node module folder
这个文件夹不要放到git中。

src 文件夹

最最核心的源代码所在的目录。 展开后如下所示(不同版本的vue-cli生成的目录会稍有不同,不过核心都是一样的):

▾ src/
  ▾ assets/
      logo.png
  ▾ components/
      Book.vue
      BookList.vue
      Hello.vue
  ▾ router/
      index.js
    App.vue
    main.js
  • assets 文件夹

用到的图片都可以放在这里。

  • components

用到的"视图"和"组件"所在的文件夹。(最最核心)

  • router/index.js

路由文件。 定义了各个页面对应的url.

  • App.vue

如果index.html 是一级页面模板的话,这个App.vue就是二级页面模板。
所有的其他vuejs页面,都作为该模板的 一部分被渲染出来。

  • main.js

没有实际的业务逻辑,但是为了支撑整个vuejs框架,存在很必要。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Vue.js是一种流行的JavaScript框架,广泛应用于Web应用程序的开发中。使用Vue.js开发甘特图项目可以提供丰富的交互和可视化功能。下面是使用Vue.js开发甘特图项目的一些主要步骤和考虑因素: 1. 数据结构和状态管理:在Vue.js中,可以使用组件和数据驱动的方式来管理甘特图中的任务和时间信息。可以创建一个主组件来承载整个甘特图,并在该组件中定义任务和时间信息的数据结构。同时,可以使用Vue的响应式属性来跟踪和更新任务的状态、进度和时间。 2. 组件设计和交互:在Vue.js中,可以创建各种组件来实现甘特图的功能和交互。例如,可以创建一个任务组件来显示单个任务的详细信息和状态。可以创建一个时间轴组件来显示甘特图的时间范围和刻度。可以创建一个进度条组件来表示任务的完成进度。可以使用Vue的事件机制来实现各个组件之间的通信和交互。 3. 数据绑定和模板语法:Vue.js提供了灵活且易于使用的数据绑定和模板语法。可以使用双向绑定来实现任务和时间信息的动态更新。可以使用条件渲染和循环来根据任务的状态和时间来显示不同的组件和元素。可以使用Vue的计算属性和过滤器来处理任务和时间的计算和格式化。 4. 样式和布局:Vue.js可以与CSS和样式预处理器(如Sass或Less)结合使用,以实现甘特图项目的样式和布局。可以使用Vue的样式绑定和动态类绑定来实现任务、进度和时间的样式化。可以使用CSS网格或Flexbox来实现甘特图的布局和响应式设计。 总之,通过使用Vue.js开发甘特图项目,可以轻松地实现交互性和可视化的功能。Vue.js的灵活性和易用性使得开发者可以方便地构建和管理甘特图项目。 ### 回答2: Vue.js是一款流行的JavaScript框架,经过许多开发者的认可和广泛应用。使用Vue.js进行甘特图项目开发具有以下优势: 1. 组件化开发:Vue.js支持组件化开发,将各个功能模块拆分成多个组件,使得代码结构清晰、易于维护。可以为甘特图中的不同部分(如任务列表、时间轴、进度条等)分别创建对应的组件,进行高效开发和复用。 2. 响应式设计:Vue.js采用了双向数据绑定和虚拟DOM的技术,使得数据的变化能够自动反映到界面上。在甘特图项目中,可以通过Vue.js实时更新任务的状态、进度等信息,并自动生成相应的图表展示给用户。 3. 强大的工具库和插件:Vue.js拥有丰富的工具库和插件生态系统,可以大大提高开发效率。比如,可以使用element-ui或vuetify等UI组件库快速构建甘特图的界面;使用moment.js等日期时间处理库来处理任务的开始时间和结束时间等。 4. 单页应用(SPA)优势:Vue.js可以实现单页应用(SPA),在甘特图项目中可以充分发挥这一优势。用户可以无需刷新页面,在同一页面上进行任务调整、进度更新等操作,提高用户的交互体验。 5. 丰富的社区支持:Vue.js拥有庞大的开发者社区和活跃的贡献者群体,可以从中获得各种问题的解答、教程和开源项目。这为开发者提供了良好的学习和交流平台,节约了开发时间和精力。 综上所述,使用Vue.js开发甘特图项目将能够提高开发效率、加强代码结构、响应快速、提升用户体验,并且拥有丰富的社区支持,是一种理想的选择。 ### 回答3: Vue.js是一个用于构建用户界面的渐进式JavaScript框架,可以轻松开发甘特图项目。 首先,我们可以使用Vue.js的组件化开发方式来构建甘特图。我们可以创建一个甘特图组件,该组件包含项目的时间轴、任务列表和任务条。使用Vue.js的数据绑定功能,我们可以将任务数据动态地绑定到任务条上。这样,当任务数据发生变化时,任务条也会相应地更新。 其次,Vue.js提供了丰富的生命周期钩子函数,可以帮助我们在各个阶段进行逻辑处理。例如,在甘特图组件的mounted钩子函数中,我们可以初始化甘特图的样式和布局。在甘特图的更新周期中,可以使用updated钩子函数来处理任务条的位置和长度的更新。 此外,Vue.js提供了强大的路由功能,可以帮助我们实现不同页面的导航。我们可以使用Vue Router来定义甘特图项目的不同视图,并通过路由参数来传递项目的ID等信息。 最后,Vue.js还支持组件间的通信,这对于甘特图项目非常有用。例如,我们可以创建一个任务编辑组件,用于编辑任务的详细信息。当用户点击某个任务条时,我们可以通过触发一个自定义事件,将该任务的数据传递给任务编辑组件,使用户可以对任务进行编辑和保存。 总而言之,利用Vue.js开发甘特图项目非常方便,可以帮助我们快速构建交互性强、功能丰富的甘特图应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值