zoukankan      html  css  js  c++  java
  • vue+koa+sequlize 搭建使程序员专注业务代码开发框架---对于nunjucks引入webpack后,产生的文件缓存相关的思考(四)

      前景提要: 由于想要使用nunjucks引擎动态通过直接引入js文件的形式来进行项目的结构搭建,但是由此也有一些问题。

      由于项目开发时需要开启俩个server,一个是webpack的微服务、另一个是node服务端。我们请求node服务,返回nunjucks模板引擎处理后的html文件。开发环境下可以直接引入script来进行js文件以及使用link 进行css文件的获取。但是开发环境下出现hash值。如果不使用不使用hash值可能会导致某些浏览器缓存了该js文件就导致页面显示问题。如果使用了,每次无法记录相应的hash值的情况下,就会每次都请求这些静态文件、导致浪费了浏览器缓存。这样可以通过某些方式来解决这些问题。

      方案一:使用文件记录方式

      在每次build的时候。使用json格式记录这些打包生成的文件。包括后面的hash值、nunjucks支持传入方法,可以在nunjucks文件里直接使用,那么我们可以在调用之前先查找对应的数据,之后使用在代码中。这样就可以保证缓存使用,而且不会出现问题。

      问题: 需要写入文件。这样项目的体积可能更大了。(当然这东西也多不了多少)这种方案感觉更加麻烦......

      

      方案二:webpack使用html-webpack-plugin

      由于项目中nunjucks文件的结构是以一个文件为基础。剩下的每个新的业务都是一个新的nunjucks文件,但是都继承于第一个文件,可以在第一个文件内进行打包文件的公有引入,例如vender.js等等。之后首先获取所有业务生成的nunjucks文件。之后每个进行遍历放入不同的js和css文件。

      问题:在进行获取所有业务生成的nunjucks文件的时候需要进行文件夹的深度遍历,这样有些文件可能不需要引入或者没有这个业务线的js文件,这样就有点尴尬了。如果出现重名的文件引用就会出现问题。需要制定新的规则去限制这些。当然感觉成本要低于上面的方案。

  • 相关阅读:
    IOS性别
    IOS生命周期
    读书的作用
    Core Data
    解析Json数据
    sicily Knight Moves
    sicily 简单魔板2
    Sum of Consecutive Primes
    [OI笔记]杂题整理1(基础篇~)
    [IOI1994]The Castle
  • 原文地址:https://www.cnblogs.com/acefeng/p/11891473.html
Copyright © 2011-2022 走看看