接手angular项目,但之前没有接触过angular
不知道怎么启动项目,问了上一个接手这项目的同事,ta是用nginx打开项目的
这样没问题,是在本地启动,但是改完点击浏览器上的刷新按钮却没有用。ctrl+f5 也时好时坏
按下F12打开开发者工具,把鼠标移到浏览器刷新按钮上 右键,选择清空缓存并硬性重新加载
问题描述接手angular项目,但之前没有接触过angular不知道怎么启动项目,问了上一个接手这项目的同事,ta是用nginx打开项目的这样没问题,是在本地启动,但是改完点击浏览器上的刷新按钮却没有用。ctrl+f5 也时好时坏解决方案按下F12打开开发者工具,把鼠标移到浏览器刷新按钮上 右键,选择清空缓存并硬性重新加载...
编译项目出现如下错误
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
node的堆
内存
上限大概在1.7G,如果超过就会出现次错误
全局安装increase-memory-limit
npm install -g increase-memory-limit
进入工程目...
vue项目每次发布新版本后,测试人员都要
强制
刷新
才能更新
浏览器
代码来验证bug。对于用户来说,这更不合理。于是,想办法让
浏览器
自动更新文件。
1.在static静态目录下新建version.json每次发版更改里面的版本号
"version": "1.0.1"
2.在src中新建 libs/versionUpdate.js文件
import axios from 'axios'
const isNewVersion = () => {
let url = `//$
一、vue build构建时生成时间戳加入 JS及CSS后面.这样会访问新的资源不会走
浏览器
缓存
。
二、如果是nginx的话配置 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$ { #禁止
缓存
,每次都从服务器请求 add_header Cache-Control no-store; } 就可以了
最近在写基于
angular
4的项目的时候,在build --prod的时候,突然措手不及的蹦出个报错,大致错误如下:
70% building modules 1345/1345 modules 0 active
<--- Last few GCs --->
317945 ms: Mark-sweep 703.9 (837.9) -> 701.4 (8...
==== JS stack trace =========================================
0: ExitFrame [pc: 0000002919A5C5C1]
Security context: 0x02b9c119e6e9 <JSObject>
1: _send [00000
在vue中,同一个路由被重复访问时,组件并不会被
重新
加载
,而是会直接复用之前
加载
的组件,这可能会导致一些数据或逻辑问题。如何在同一路由
强制
刷新
组件呢?
一种简单的方法是使用key属性。在路由切换时给组件加上key属性,每次切换时key值都会改变,这样组件就会被
强制
重新
加载
。例如,在路由跳转时通过下面的代码给组件加上key属性:
<router-view :key="$route.fullPath"></router-view>
这里用到了$route对象的fullPath属性,表示当前路由的完整路径,用作key属性的值。这样,每次路由切换时,组件就会
强制
刷新
。
另外一种方法是使用watch监听$route对象的变化,然后手动调用组件的
刷新
方法。例如:
watch: {
$route: function(to, from) {
if(from.path === to.path) {
this.$router.go(0); //
刷新
当前页
这里的watch监听了$route对象的变化,如果当前路径与上一个路径相同,则调用$route的go方法,参数为0表示
刷新
当前页。这样组件也会被
强制
刷新
。
无论哪种方法,都需要注意在
强制
刷新
组件时可能会导致数据丢失或逻辑问题,需要在业务逻辑上进行适当的处理。