Vue 프로젝트 패키지 컴파일 최적화 방안
기본적으로 우리가 실행할 때
npm run build
프로젝트를 포장한 후dist 디렉터리를 얻을 수 있습니다. 그 안에 js 디렉터리가 있습니다. 이 프로젝트가 컴파일된 모든 js 파일을 저장합니다.우리는 모든 js 파일에 상응하는 것이 있다는 것을 발견했다.맵 파일은 코드를 디버깅하는 데만 사용되며, 패키지 속도를 높일 수 있지만, 패키지 부피를 증가시킬 수 있습니다. 온라인에서 우리는 이 코드를 필요로 하지 않습니다.맵 파일을 생성하지 않도록 설정해야 합니다.
module.exports = {
productionSourceMap: false
}
2. 필요에 따라 타사 패키지 도입기본적으로 포장이 끝난 js 파일에서vendor.xxx.js라는 파일은 매우 크다. 이것은 주로 우리가 사용하는 제3자 패키지 (vue, vue-router, vuex,axios,element-ui 등) 이다.이 안의 대부분은 우리가 사용해야 할 기능이다. 예를 들어element-ui와 같이 블록에 따라 구분할 수 있다. 우리는 단지 안의 개별 구성 요소를 사용했을 뿐이다. 완전히 그것을 필요에 따라 꺼낼 수 있고 전부 포장할 필요가 없다.
element-ui의 홈페이지에서 수요에 따라 도입하는 방법을 소개했고babel-plugin-component를 빌려 우리는 필요한 구성 요소만 도입하여 프로젝트의 부피를 줄이는 목적을 달성할 수 있다.
3. 라우팅 게으름
기본적으로 포장이 끝난 js 파일에서 app.xxx.js라는 파일은 매우 크다. 이것은 주로 우리가 작성한 일부 구성 요소이다.그러면 피할 수 없는 문제는 사용자가 웹 페이지를 방문할 때 첫 번째 요청은 전체 앱을 불러오는 것입니다.xxx.js, 우리의 프로젝트가 비교적 복잡할 때 이 파일도 상당히 크다.
다음에 우리가 해야 할 일은 게으름이 짐을 싣는 것이다.즉, 한 페이지에 접근할 때 현재 구성 요소와 관련된 js 자원만 불러오고 다른 페이지에 접근할 때 해당하는 구성 요소 코드를 불러옵니다.
vue가 제공하는 루트 로드 기능을 통해 우리는 원래의 앱을 불러올 수 있습니다.xxx.js 파일, 블록을 여러 개로 나눈다.
① 우선 홈페이지의 설명에 따라 플러그인을 설치해야 합니다
npm install --save-dev @babel/plugin-syntax-dynamic-import
② 그리고 바벨에서.config.js에서 다음과 같이 구성합니다(인터넷에서.babelrc 파일이라고 하는데 이것은 이전의 설정 형식입니다).
module.exports = {
presets: ["@vue/app"],
plugins: ["@babel/plugin-syntax-dynamic-import"]
};
③ 다음으로 라우팅 어셈블리 부분의 코드를 수정합니다.이것은 우리의 원래 루트 작성법이다.
router.js
import Vue from "vue";
import Router from "vue-router";
import Home from "./views/Home.vue";
import About from "./views/About.vue";
import Form from "./views/Form.vue";
import Table from "./views/Table.vue";
import NavMenu from "./views/NavMenu.vue";
Vue.use(Router);
export default new Router({
mode: "history",
base: process.env.BASE_URL,
routes: [
{
path: "/",
name: "home",
component: Home
},
{
path: "/about",
name: "about",
component: About
},
{
path: "/form",
name: "myForm",
component: Form
},
{
path: "/table",
name: "myTable",
component: Table
},
{
path: "/nav_menu",
name: "myNavMenu",
component: NavMenu
}
]
});
이것은 우리가 수정한 루트 작성법이다.router.js
import Vue from "vue";
import Router from "vue-router";
const Home = () => import("./views/Home.vue");
const About = () => import("./views/About.vue");
const Form = () => import("./views/Form.vue");
const Table = () => import("./views/Table.vue");
const NavMenu = () => import("./views/NavMenu.vue");
Vue.use(Router);
export default new Router({
mode: "history",
base: process.env.BASE_URL,
routes: [
{
path: "/",
name: "home",
component: Home
},
{
path: "/about",
name: "about",
component: About
},
{
path: "/form",
name: "myForm",
component: Form
},
{
path: "/table",
name: "myTable",
component: Table
},
{
path: "/nav_menu",
name: "myNavMenu",
component: NavMenu
}
]
});
더 자세한 내용은 참고하시오공식 문서 이상은 바로 Vue 프로젝트 패키지 컴파일링 최적화 방안의 상세한 내용입니다. vue 프로젝트 패키지 최적화에 관한 더 많은 자료는 저희 다른 관련 글을 주목해 주십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.