【问题标题】:Is it possible to minify JS code inside ejs files?是否可以缩小 ejs 文件中的 JS 代码?
【发布时间】:2020-06-01 06:23:06
【问题描述】:

我想知道是否可以缩小包含在模板文件中的 JS 代码,如 EJS 文件。

有用吗?我在考虑表演。它仍然是隐藏cmets,解释的一种方式。

【问题讨论】:

  • 为什么不能?
  • 因为文件是由服务器自己渲染的,而不是像往常一样被浏览器下载。我只是想知道它是否有用,如果有用,那么该怎么做。
  • 将您的脚本放在通过脚本标签包含的外部 .JS 文件中。然后最小化你的 .JS 文件。
  • 但这不是我想做的。
  • 嗯,这就是你最小化 JS 的方式。否则,您必须找到可以处理 ejs 文件中的非脚本内容的 JS 最小化程序。我不知道有一个。

标签: javascript minify ejs embedded-javascript


【解决方案1】:

这似乎是最好的解决方案。基本上,你想使用 EJS 的 renderFile 方法,然后使用UglifyJS 丑化渲染结果。

app.get('/js/my.js', (req, res) => {
  var data = {foo:'bar'}
  ejs.renderFile('views/js/my.js.ejs', {data}, (err, js) => {
    if(err) return res.status(500).send("error")
    res.setHeader('Content-Type', 'text/javascript')
    res.send(UglifyJS.minify(js))
  })
})

【讨论】:

    【解决方案2】:

    您可以使用node-minify 来缩小您的Javascript、HTML 和CSS 文件。

    此外,您不应在渲染时缩小文件(在传入请求时)。我通常使用我的 EJS 文件将配置传递给 UI,并从 S3 或公共端点加载 UI。

    你可以拥有包含脚本标签的 index.ejs

    <script type='text/javascript'>
      var clientSideConfig =<%-JSON.stringify(backendConfigurations)%>
    </script>
    <script src="/public/your_minified_vuejs.js"></script>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-13
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-26
      相关资源
      最近更新 更多