吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 699|回复: 3
收起左侧

[求助] Node.js引用外部文件的问题

[复制链接]
cqwcns 发表于 2021-11-23 08:38
以下代码,实现的是Node.js向前端返回页面,这是腾讯云的官方demo。
可见  网页JS代码script 和 网页HTML代码body 是字面量形式的变量。为了方便维护,我希望将这两部内容分离出来,直接读取根目录的script.js 和 body.html。
这样我主要维护script.js 和 body.html即可。

所以,怎么改可以实现这样的引用?谢谢。


[JavaScript] 纯文本查看 复制代码
//替换 envId 为您的环境ID
const envId = "xxx"
exports.main = async (event) => {
    // 网页JS代码
    const script =
        `
      var envId = "${envId}"

      class FunctionQuickStarter {
          constructor() {

      // 初始化 CloudBase
              this.app = cloudbase.init({
                  env: envId,
                  region:"ap-shanghai"
              })

              this.setButtonStatus(true)
              this.signIn()
          }

          setButtonStatus(status) {
              this.addDataButton.disabled = status

              if (!status) {
                  this.queryData()
              }
          }
  
      window.addEventListener("load", function() {
          window.app = new FunctionQuickStarter()
      })

      `
    // 网页HTML代码
    const body =
        `
    <!DOCTYPE html>
        <html lang="en">

        <head>
            <meta charset="UTF-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <title>Document</title>
        </head>

        <body>
            <div>测试内容</div>
        </body>

    </html>
    `
    return {
        statusCode: 200,
        headers: {
            'content-type': 'text/html'
        },
        body: body
    }
}

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
muzi123mz + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| cqwcns 发表于 2021-11-23 09:17
zhangsan7819 发表于 2021-11-23 08:54
你可以把script 和 body 这两个变量的内容 单独创建两个文件存放  然后require到这个demo中,也就是引用, ...

小弟水平太菜,还望具体指导一下,谢谢。

我尝试这样写,但是报错的。

//替换 envId 为您的环境ID
const envId = "xxx"
var bodyContent = require('index.html')

exports.main = async (event) => {
    // 网页JS代码
    const script =
        `
      var envId = "${envId}"

      class FunctionQuickStarter {
          constructor() {

      // 初始化 CloudBase
      // 如果您的环境属于上海地域,请将 region 信息改为"ap-shanghai"
              this.app = cloudbase.init({
                  env: envId,
                  region:"ap-shanghai"
              })

              this.setButtonStatus(true)
              this.signIn()
          }

          setButtonStatus(status) {
              this.addDataButton.disabled = status

              if (!status) {
                  this.queryData()
              }
          }
  
      window.addEventListener("load", function() {
          window.app = new FunctionQuickStarter()
      })

      `
    // 网页HTML代码
    const body = bodyContent
    return {
        statusCode: 200,
        headers: {
            'content-type': 'text/html'
        },
        body: body
    }
}
kihlh 发表于 2021-11-23 11:00
cqwcns 发表于 2021-11-23 09:17
小弟水平太菜,还望具体指导一下,谢谢。

我尝试这样写,但是报错的。

代码没错但是你这个  var bodyContent = require('index.html')
是错误的 应该用fs读取

const fs=require("fs")
let bodyContent =fs.readFileSync(__dirname+'/index.html').toString()

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
cqwcns + 1 + 1 热心回复!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 20:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表