美文网首页
ejs 高效的嵌入式 JavaScript 模板引擎。

ejs 高效的嵌入式 JavaScript 模板引擎。

作者: MISS_3ca2 | 来源:发表于2020-12-13 15:16 被阅读0次
image.png

需求是界面需要做国际化要求兼容ie8 刚开始的处理方式是js获取语言参数后把对应的语言插入到节点中 节点默认是空的没有默认的语言 这样导致页面会有一瞬间是空白的 之后优化界面拆分开 每个语言对应一个界面 ejs就能通过配置实现一个模板编译出不同的语言界面

首先yarn init初始化package.json 然后安装需要用到的插件

{
  "name": "ejs",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "scripts": {
    "build": "webpack --config webpack.config.js"
  },
  "dependencies": {
    "clean-webpack-plugin": "^3.0.0",
    "ejs": "^3.1.5",
    "html-loader": "^1.3.2",
    "html-webpack-plugin": "^4.5.0",
    "webpack": "^5.10.1",
    "webpack-bundle-analyzer": "^4.2.0",
    "webpack-cli": "^4.2.0"
  }
}

配置webpack.config.js

const path = require('path')
const { CleanWebpackPlugin } = require('clean-webpack-plugin')
const HtmlWebpackPlugin = require('html-webpack-plugin')


module.exports = {
    entry: {
      main: './index.js'
    },
    output: {
        path: path.resolve(__dirname, 'dist'), // 打包文件的输出目录
        filename: '[name].bundle.js', // 代码打包后的文件名
        publicPath: './', // 引用的路径或者 CDN 地址
        chunkFilename: '[name].js' // 代码拆分后的文件名
    },
    module: {
        rules: [{
          test: /\.html$/,
          use: [{
            loader: 'html-loader'
          }]
        }]
    },
    plugins: [
        new CleanWebpackPlugin(), // 会删除上次构建的文件,然后重新构建
        new HtmlWebpackPlugin({
          // 打包输出HTML
          title: '自动生成 HTML',
          minify: {
            // 压缩 HTML 文件
            removeComments: true, // 移除 HTML 中的注释
            collapseWhitespace: true, // 删除空白符与换行符
            minifyCSS: true // 压缩内联 css
          },
          filename: 'index.html', // 生成后的文件名
          template: path.resolve(__dirname, 'index.ejs'), // 根据此模版生成 HTML 文件
          chunks: ['main'] // entry中的 main 入口才会被打包
        })
    ]
}

创建ejs的文件 <%=htmlWebpackPlugin.options.title%>读取HtmlWebpackPlugin配置的信息

<!DOCTYPE html>
<html lang="en">
    <% var data={
        title : "测试",
         
    }%>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ejs測試</title>
</head>
<body>
    <h1><%=data.title%></h1>
</body>
</html>

执行yan build就会打包输出对应的html文件啦

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>ejs測試</title>
</head>

<body>
    <h1>测试</h1>
    <script src="./main.bundle.js"></script>
</body>

</html>

相关文章

  • 组件

    minify: 压缩JS/CSS的利器EJS: 高效的嵌入式JavaScript模板引擎(https://ejs....

  • EJS-高效的嵌入式 JavaScript 模板引擎

    一、什么是EJS 官网是这样解释的:E” 代表什么?可以表示 “可嵌入(Embedded)”,也可以是“高效(Ef...

  • EJS详解

    EJS是一个简单高效的模板语言,通过数据和模板,可以生成HTML标记文本。可以说EJS是一个JavaScript库...

  • node 中使用模板引擎

    在 Express 中使用 ejs 模板引擎 安装: 配置 Express 使用 ejs 模板 app.set('...

  • Koa项目总结三:ejs和art-template模板引擎让页面

    这里,我主要整理两种模板引擎的使用,ejs和art-template: 1. EJS模板引擎的使用: 1.1 安装...

  • 3.模板引擎--EJS

    著名的两个模板引擎EJS,Jade EJS 官网:https://ejs.bootcss.com 【1】EJS的成...

  • express 之 ejs模板引擎

    ejs模板引擎 官方文档 一、简介 相比于jade模板引擎,ejs对原HTML语言就未作出结构上的改变,只不过在其...

  • 后台模板引擎EJS和Jade 一些语法

    1)Ejs模板引擎 1、常规使用变量拿值 在Ejs模板引擎中都是以<% %>为一个键值对 里面可以填js语法**...

  • 在express中使用ejs模板

    1.安装ejs 注:express内置了ejs,所以不用引入ejs 2.配置ejs模板引擎 3.渲染页面rende...

  • ✍2019-06-14 关于express

    一、安装express 框架 二、结构 三、配置模板引擎 还别的模板引擎:jade,pug,ejs HTTP的请求...

网友评论

      本文标题:ejs 高效的嵌入式 JavaScript 模板引擎。

      本文链接:https://www.haomeiwen.com/subject/vdwhgktx.html