当前位置: 首页>前端>正文

npm查看镜像源 查看node镜像

构建node.js基础镜像

在本教程中,我将向您展示如何使用Node.js和Cosmic JS创建一个简单的博客。 这将是您创建过的最快,最轻量的博客。 让我们开始吧。

TL; DR

  • 观看演示
  • 在Cosmic JS上安装Simple Blog App
  • 在GitHub上查看代码库

入门

确保在计算机上安装了Node.js和NPM,否则请访问Node.js网站以安装最新版本。

确保已全局安装Yarn :



npminstall yarn -g



首先,为我们的应用程序创建一个文件夹。 在您喜欢的终端中,运行以下命令:



mkdirsimple -blog
cd simple -blog



现在,我们添加一个package.json文件,以导入我们应用程序的所有依赖项:



vimpackage . json



将以下内容添加到我们的package.json文件中:



{"dependencies" : {
    "cosmicjs" : "^2.39.0" ,
    "express" : "^4.15.2" ,
    "hogan-express" : "^0.5.2" ,
    "nodemon" : "^1.11.0"
  },
  "scripts" : {
    "start" : "node app.js" ,
    "development" : "nodemon app.js"
  }
}



这是一个漂亮应用程序的漂亮依赖列表。 因此,我们将安装的是:

  1. Cosmic JS节点模块,可从Cosmic JS Bucket中获取我们的内容。
  2. 为我们的Web应用程序框架表达
  3. Hogan提供我们的模板视图
  4. Nodemon开发

在生产和开发中启动我们的应用程序,我们的脚本是必需的。

运行以下命令以安装我们的依赖项:



yarn



建立我们的博客

接下来,让我们开始构建我们的博客页面。 创建一个名为app.js的文件:



vim app .js



并将以下内容添加到app.js:



const express = require ( 'express' )
const app = express()
const hogan = require ( 'hogan-express' )
const http_module = require ( 'http' )
const http = http_module.Server(app)
app.engine( 'html' , hogan)
app.set( 'port' , (process.env.PORT || 3000 ))
app.use( '/' , express.static(__dirname + '/public/' ))
const Cosmic = require ( 'cosmicjs' )
const helpers = require ( './helpers' )
const bucket_slug = process.env.COSMIC_BUCKET || 'simple-blog-website'
const read_key = process.env.COSMIC_READ_KEY
const partials = {
  header : 'partials/header' ,
  footer : 'partials/footer'
}
app.use( '/' , (req, res, next) => {
  res.locals.year = new Date ().getFullYear()
  next()
})
// Home
app.get( '/' , (req, res) => {
  Cosmic.getObjects({ bucket : { slug : bucket_slug, read_key : read_key } }, (err, response) => {
    const cosmic = response
    if (cosmic.objects.type.posts) {
      cosmic.objects.type.posts.forEach( post => {
        const friendly_date = helpers.friendlyDate( new Date (post.created_at))
        post.friendly_date = friendly_date.month + ' ' + friendly_date.date
      })
    } else {
      cosmic.no_posts = true
    }
    res.locals.cosmic = cosmic
    res.render( 'index.html' , { partials })
  })
})
http.listen(app.get( 'port' ), () => {
  console .info( '==> 

https://www.xamrdz.com/web/2cx1960181.html

相关文章: