📜  node.js 工作流模板 - Javascript (1)

📅  最后修改于: 2023-12-03 15:03:15.394000             🧑  作者: Mango

Node.js 工作流模板 - Javascript

在构建现代Web应用程序时,可以使用许多工具,框架和库。而在这里,我们将介绍如何使用Node.js和一些常见的Javascript库和工具来搭建一个高效的工作流模板。这个模板包含了常用的开发和构建工具,以便您可以快速地开始编写代码,而不需要处理太多的配置和编译细节。

目录
  1. 使用工具
  2. 开始您的项目
  3. 设置开发环境
  4. 添加您的代码
  5. 构建您的应用程序
使用工具

在这里,我们将使用以下Node.js库和工具:

  • Node.js:Node.js是一种运行在服务器端的Javascript环境。它可以让开发人员使用Javascript编写后端Web应用程序,并且可以使用它的包管理器npm来管理依赖项和工具。

  • Express:Express.js是一个用于构建Web应用程序的流行Node.js框架。它具有简单易用的API,可以管理路由和中间件,并且支持HTTP和HTTPS。

  • Babel:Babel是一个Javascript编译器,可以将ES6和以上版本的Javascript转换为ES5兼容的代码。Babel允许开发人员使用最新的Javascript特性,并且兼容旧版本的浏览器或Node.js服务器。

  • Webpack:Webpack是一个模块打包工具,可以将各种类型的资源打包成单个文件。Webpack还支持生成优化的代码和使用多个加载器来处理不同类型的资源。

  • Gulp:Gulp是一个用于自动化任务的构建系统。它支持串联并行任务,并且能够使用多种插件来处理文件、压缩代码等。

开始您的项目

我们将从一个空目录开始,并使用npm初始化一个新的node.js项目。

# 初始化一个新的node.js项目
npm init -y

安装Express.js和一些常见的开发和构建工具。

# 安装Express.js
npm install express

# 安装Babel和相关工具
npm install --save-dev @babel/core @babel/preset-env @babel/register

# 安装Webpack和相关工具
npm install --save-dev webpack webpack-cli webpack-dev-server

# 安装Gulp和相关工具
npm install --save-dev gulp gulp-babel gulp-clean-css gulp-concat gulp-rename gulp-sass gulp-uglify

创建一个服务器文件,编译使用Babel。

// index.js
require('@babel/register')

const express = require('express')
const path = require('path')

const app = express()

app.use('/', express.static(path.join(__dirname, 'public')))

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(3000, () => {
  console.log('Example app listening on port 3000!')
})

创建一个Babel的配置文件用于编译Javascript代码。

// .babelrc
{
  "presets": [["@babel/env"]]
}

现在运行API服务器进行测试。

# 启动服务器
node index.js
设置开发环境

我们将使用Webpack和Gulp来构建和打包我们的代码。因此,我们需要创建一个Webpack配置文件,一个Gulp配置文件,以及一些辅助工具。

创建一个Webpack配置文件。

// webpack.config.js
const path = require('path')

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.join(__dirname, 'public'),
    filename: 'bundle.js'
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader'
        }
      }
    ]
  },
  devServer: {
    contentBase: path.join(__dirname, 'public'),
    compress: true,
    port: 3000
  }
}

创建一个Gulp配置文件。

// gulpfile.js
const gulp = require('gulp')
const babel = require('gulp-babel')
const sass = require('gulp-sass')
const concat = require('gulp-concat')
const rename = require('gulp-rename')
const uglify = require('gulp-uglify')
const cleanCss = require('gulp-clean-css')

gulp.task('compile-js', () => {
  return gulp.src('./src/**/*.js')
    .pipe(babel())
    .pipe(concat('bundle.js'))
    .pipe(gulp.dest('./public/js'))
    .pipe(rename({ suffix: '.min' }))
    .pipe(uglify())
    .pipe(gulp.dest('./public/js'))
})

gulp.task('compile-sass', () => {
  return gulp.src('./src/**/*.scss')
    .pipe(sass())
    .pipe(gulp.dest('./public/css'))
    .pipe(rename({ suffix: '.min' }))
    .pipe(cleanCss())
    .pipe(gulp.dest('./public/css'))
})

gulp.task('default', ['compile-js', 'compile-sass'])

gulp.task('watch', () => {
  gulp.watch('./src/**/*.js', ['compile-js'])
  gulp.watch('./src/**/*.scss', ['compile-sass'])
})

安装Webpack和Gulp插件。

# 安装Webpack插件
npm install --save-dev babel-loader webpack-dev-middleware webpack-hot-middleware

# 安装Gulp插件
npm install --save-dev gulp-babel gulp-sass gulp-concat gulp-rename gulp-uglify gulp-clean-css
添加您的代码

现在,我们已经准备好开始编写我们的代码了。我们将把代码放在src目录下,并在Webpack配置文件中为我们的入口文件指定一个文件路径。

我们还将使用Sass来编写我们的CSS样式表,我们将把这些文件放在src目录下的styles目录中。

创建一个名为index.js的文件,它包含我们的Javascript代码。

// src/index.js
export function add(a, b) {
  return a + b
}

console.log(add(5, 3))

创建一个名为styles.scss的文件,它包含我们的CSS代码。

/* src/styles/styles.scss */
$primary-color: #000;

body {
  background-color: $primary-color;
}
构建您的应用程序

现在我们可以使用我们的编译和构建工具,将我们的代码转换为浏览器可以使用的格式。

使用Webpack打包我们的Javascript文件和Sass文件。

# 打包我们的Javascript和Sass
webpack --mode development --watch

使用Gulp将我们的Javascript和Sass文件压缩并拼接到一个单独的文件中。

# 编译我们的Javascript和Sass,并产生压缩的代码
gulp

如果一切顺利,您将在public目录下找到打包文件。

在您的浏览器中打开http://localhost:3000,您应该能够看到Hello World!在黑色的背景上。

至此我们的Node.js工作流模板已经搭建完成了,它包含了常用的开发和构建工具,您可以通过它来快速搭建您的Node.js项目。