Vue-Disqus 项目教程
1. 项目的目录结构及介绍
Vue-Disqus 项目的目录结构如下:
vue-disqus/
├── dist/
│ ├── vue-disqus.js
│ └── vue-disqus.min.js
├── examples/
│ ├── basic/
│ ├── global/
│ └── local/
├── src/
│ ├── components/
│ │ └── Disqus.vue
│ ├── index.js
│ └── utils/
│ └── disqus.js
├── .babelrc
├── .editorconfig
├── .eslintrc.js
├── .gitignore
├── .npmignore
├── .travis.yml
├── LICENSE
├── package.json
├── README.md
└── webpack.config.js
目录结构介绍
- dist/: 包含编译后的文件,如
vue-disqus.js
和vue-disqus.min.js
。 - examples/: 包含示例项目,如
basic
、global
和local
。 - src/: 源代码目录,包含组件、入口文件和工具函数。
- components/: 包含主要的 Disqus 组件
Disqus.vue
。 - index.js: 项目的入口文件。
- utils/: 包含 Disqus 相关的工具函数。
- components/: 包含主要的 Disqus 组件
- .babelrc: Babel 配置文件。
- .editorconfig: 编辑器配置文件。
- .eslintrc.js: ESLint 配置文件。
- .gitignore: Git 忽略文件配置。
- .npmignore: npm 忽略文件配置。
- .travis.yml: Travis CI 配置文件。
- LICENSE: 项目许可证。
- package.json: 项目依赖和脚本配置。
- README.md: 项目说明文档。
- webpack.config.js: Webpack 配置文件。
2. 项目的启动文件介绍
项目的启动文件是 src/index.js
,其主要作用是导出 Vue-Disqus 组件,并提供全局注册和局部注册的方式。
import Disqus from './components/Disqus.vue';
export default {
install(Vue) {
Vue.component('Disqus', Disqus);
},
Disqus
};
启动文件介绍
- 导入 Disqus 组件: 从
components/Disqus.vue
导入 Disqus 组件。 - 导出对象: 导出一个包含
install
方法和Disqus
组件的对象。- install 方法: 用于全局注册 Disqus 组件。
- Disqus 组件: 用于局部注册 Disqus 组件。
3. 项目的配置文件介绍
项目的配置文件主要包括 package.json
和 webpack.config.js
。
package.json
package.json
文件包含了项目的依赖、脚本和其他元数据。
{
"name": "vue-disqus",
"version": "3.0.5",
"description": "Vue component to integrate Disqus comments in your application, with support for SPA",
"main": "dist/vue-disqus.js",
"scripts": {
"build": "webpack --config webpack.config.js",
"dev": "webpack-dev-server --config webpack.config.js --mode development --open",
"lint": "eslint src/**/*.js src/**/*.vue"
},
"keywords": [
"vue",
"disqus",
"comments"
],
"author": "Alan Ktquez <ktquez@gmail.com>",
"license": "MIT",
"devDependencies": {
"babel-core": "^6.26.3",
"babel-loader": "^7.1.5",
"babel-preset-env": "^1.7.0",
"eslint": "^5.16.0",
"eslint-config-standard": "^12.0.0",
"eslint-plugin-import": "^2.17.3",
"eslint-plugin-node": "^9.1.0",
"eslint-plugin-promise": "^4.1.1",