웹 최적화hash
카탈로그
개시하다
dva new dva-incremental-hash
npm run build
File sizes after gzip:
88.61 KB dist/index.js
316 B dist/index.css
새 페이지 추가
vim src/routes/SecondPage.js
import React from 'react';
import { connect } from 'dva';
function SecondPage() {
return (
);
}
SecondPage.propTypes = {
};
export default connect()(SecondPage);
vim src/routes/ThirdPage.js
import React from 'react';
import { connect } from 'dva';
function ThirdPage() {
return (
);
}
ThirdPage.propTypes = {
};
export default connect()(ThirdPage);
페이지가 로드되지 않음
vim src/router.js
import React from 'react';
import { Router, Route, Switch } from 'dva/router';
import dynamic from 'dva/dynamic';
import IndexPage from './routes/IndexPage';
function RouterConfig({ history, app }) {
return (
import('./routes/SecondPage'),
})
}
/>
);
}
export default RouterConfig;
npm run build
File sizes after gzip:
90.71 KB dist/index.js
316 B dist/index.css
252 B dist/1.async.js
250 B (-2 B) dist/0.async.js
게으름뱅이에 대한 상세한 소개는 웹 최적화의 게으름뱅이
hash
vim webpack.config.js
const webpack = require('webpack');
module.exports = (webpackConfig, env) => {
webpackConfig.output.chunkFilename = '[name].[hash].js';
return webpackConfig;
}
npm run build
File sizes after gzip:
90.73 KB dist/index.js
316 B dist/index.css
252 B dist/1.37e802acad82568562ee.js
250 B dist/0.37e802acad82568562ee.js
페이지 수정
vim src/routes/SecondPage.js
import React from 'react';
import { connect } from 'dva';
function SecondPage() {
return (
hash
);
}
SecondPage.propTypes = {
};
export default connect()(SecondPage);
npm run build
File sizes after gzip:
90.73 KB dist/index.js
316 B dist/index.css
256 B (+4 B) dist/1.0ebbd88139270011861d.js
250 B dist/0.0ebbd88139270011861d.js
3페이지 수정
vim src/routes/ThirdPage.js
import React from 'react';
import { connect } from 'dva';
function ThirdPage() {
return (
hash
);
}
ThirdPage.propTypes = {
};
export default connect()(ThirdPage);
npm run build
File sizes after gzip:
90.73 KB dist/index.js
316 B dist/index.css
256 B (+6 B) dist/0.08423b7136e388fcf70e.js
256 B dist/1.08423b7136e388fcf70e.js
결론
chunkhash
vim webpack.config.js
const webpack = require('webpack');
module.exports = (webpackConfig, env) => {
webpackConfig.output.chunkFilename = '[name].[chunkhash].js';
return webpackConfig;
}
npm run build
File sizes after gzip:
90.76 KB dist/index.js
316 B dist/index.css
256 B dist/0.ddd1c453a069c8bf405a.js
256 B dist/1.7f66e444078da2a99cb1.js
페이지 수정
vim src/routes/SecondPage.js
import React from 'react';
import { connect } from 'dva';
function SecondPage() {
return (
chunkhash
);
}
SecondPage.propTypes = {
};
export default connect()(SecondPage);
npm run build
File sizes after gzip:
90.76 KB dist/index.js
316 B dist/index.css
256 B dist/0.ddd1c453a069c8bf405a.js
260 B (+4 B) dist/1.9753b997c58c56af204f.js
3페이지 수정
vim src/routes/ThirdPage.js
import React from 'react';
import { connect } from 'dva';
function ThirdPage() {
return (
chunkhash
);
}
ThirdPage.propTypes = {
};
export default connect()(ThirdPage);
npm run build
File sizes after gzip:
90.76 KB dist/index.js
316 B dist/index.css
260 B (+4 B) dist/0.2e7678b447627bab62d5.js
260 B dist/1.9753b997c58c56af204f.js
결론
소결
서류
수정
변동분 업데이트
hash
모두 같다
모두 업데이트
✘
chunkhash
같지 않다
수정 파일만 업데이트
✔︎
참고 자료
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.