ฉันควรทำอย่างไรหลังจากพัฒนาแอปVueด้วยvue-cli
?
ในAngularมีคำสั่งบางอย่างที่รวมสคริปต์ทั้งหมดไว้ในสคริปต์เดียวจากนั้นไฟล์เหล่านี้จะถูกส่งไปยังโฮสต์
มีบางอย่างที่เหมือนกันในVueหรือไม่?
ฉันควรทำอย่างไรหลังจากพัฒนาแอปVueด้วยvue-cli
?
ในAngularมีคำสั่งบางอย่างที่รวมสคริปต์ทั้งหมดไว้ในสคริปต์เดียวจากนั้นไฟล์เหล่านี้จะถูกส่งไปยังโฮสต์
มีบางอย่างที่เหมือนกันในVueหรือไม่?
คำตอบ:
ฉันคิดว่าคุณได้สร้างโครงการของคุณในลักษณะนี้:
vue init webpack myproject
ตอนนี้คุณสามารถวิ่งได้แล้ว
npm run build
คัดลอก index.html และ / dist / โฟลเดอร์ลงในไดเรกทอรีรากของเว็บไซต์ของคุณ เสร็จสิ้น
npm start
หรืออะไรแบบนี้?
vue init webpack myproject
คุณจะเห็นคำแนะนำเพิ่มเติมในคอนโซลของคุณ: cd myproject
, npm install
. หลังจากnpm install
ดาวน์โหลดแพ็กเกจทั้งหมดแล้วและ vue สามารถคอมไพล์กับnpm run dev
เซิร์ฟเวอร์สำหรับการพัฒนา + รีโหลดแบบร้อนหรือด้วยnpm run build
เพื่อสร้างบันเดิลที่ปรับใช้งานได้
build.js
อยู่ภายในdist
โฟลเดอร์บน s3 และindex.html
อยู่ในรูท
dist
โฟลเดอร์คือทั้งหมดที่คุณต้องการคุณไม่จำเป็นต้องคัดลอก/index.html
แต่ต้องใช้เฉพาะindex.html
ในdist
โฟลเดอร์เท่านั้นนอกจากนี้ก่อนที่จะเรียกใช้npm run build
คุณควรกำหนดค่าเส้นทางการผลิตของคุณในconfig/index.js
"
หากคุณสร้างโครงการโดยใช้:
vue init webpack myproject
คุณต้องตั้งค่าNODE_ENV
เป็นใช้งานจริงและดำเนินการเนื่องจากโครงการมีการกำหนดค่าเว็บแพ็คสำหรับทั้งการพัฒนาและการผลิต:
NODE_ENV=production npm run build
คัดลอกdist/
ไดเรกทอรีไปยังไดเรกทอรีรากของเว็บไซต์ของคุณ
หากคุณกำลังปรับใช้กับ Docker คุณต้องมีเซิร์ฟเวอร์ด่วนที่ให้บริการdist/
ไดเร็กทอรี
Dockerfile
FROM node:carbon
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
ADD . /usr/src/app
RUN npm install
ENV NODE_ENV=production
RUN npm run build
# Remove unused directories
RUN rm -rf ./src
RUN rm -rf ./build
# Port to expose
EXPOSE 8080
CMD [ "npm", "start" ]
vue-cli
หากคุณประสบปัญหากับเส้นทางของคุณคุณอาจต้องเปลี่ยนassetPublicPath
ในconfig/index.js
ไฟล์ของคุณเป็นไดเร็กทอรีย่อยของคุณ:
คำสั่งสำหรับรหัสเฉพาะที่จะรันแสดงอยู่ในไฟล์ package.json ของคุณภายใต้สคริปต์ นี่คือตัวอย่างของฉัน:
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
หากคุณต้องการเรียกใช้ไซต์ของคุณในพื้นที่คุณสามารถทดสอบได้ด้วย
npm serve
หากคุณต้องการเตรียมไซต์ของคุณสำหรับการผลิตคุณควรใช้
npm build
คำสั่งนี้จะสร้างโฟลเดอร์ dist ที่มีไซต์ของคุณในเวอร์ชันบีบอัด
ในการปรับใช้แอปพลิเคชันของคุณเพื่อเพิ่มสภาพแวดล้อม prod
"build": "vue-cli-service build --mode prod"
ในสคริปต์ของคุณในไฟล์ package.json
เปิด main.js ของคุณแล้วเพิ่ม
Vue.config.productionTip = false;
ทันทีหลังจากการนำเข้าของคุณ จากนั้นเปิด cli ของคุณในโฟลเดอร์โครงการและเรียกใช้คำสั่งนี้
npm run build
สิ่งนี้จะทำให้โฟลเดอร์ dist ในไดเร็กทอรีโปรเจ็กต์ของคุณคุณสามารถอัปโหลดโฟลเดอร์ dist นั้นในโฮสต์ของคุณและเว็บไซต์ของคุณจะพร้อมใช้งาน
เอกสาร vue ให้ข้อมูลมากมายเกี่ยวกับวิธีปรับใช้กับผู้ให้บริการโฮสต์รายต่างๆ
npm run build
คุณสามารถค้นหาสิ่งนี้ได้จากไฟล์แพคเกจ json ส่วนสคริปต์ มีสคริปต์สำหรับการทดสอบและพัฒนาและสร้างสำหรับการผลิต
คุณสามารถใช้บริการต่างๆเช่น netlify ซึ่งจะรวมโปรเจ็กต์ของคุณโดยการเชื่อมโยง github repo ของโปรเจ็กต์จากไซต์ของพวกเขา นอกจากนี้ยังให้ข้อมูลเกี่ยวกับวิธีการปรับใช้บนไซต์อื่น ๆ เช่น heroku
คุณสามารถดูรายละเอียดเพิ่มเติมได้ที่นี่
คำสั่งนี้ใช้สำหรับเริ่มต้นเซิร์ฟเวอร์การพัฒนา:
npm run dev
โดยที่คำสั่งนี้ใช้สำหรับบิลด์การผลิต:
npm run build
อย่าลืมดูและเข้าไปในโฟลเดอร์ที่สร้างขึ้นชื่อ 'dist'
จากนั้นเริ่มพุชไฟล์เหล่านั้นทั้งหมดไปยังเซิร์ฟเวอร์ของคุณ
วิธีหนึ่งในการทำเช่นนี้โดยไม่ใช้ VUE-CLI คือการรวมไฟล์สคริปต์ทั้งหมดไว้ในไฟล์ fat js ไฟล์เดียวจากนั้นอ้างอิงไฟล์ javascript ที่มีไขมันขนาดใหญ่เป็นไฟล์เทมเพลตหลัก
ฉันชอบใช้ webpack เป็นบันเดิลเลอร์และสร้าง webpack.conig.js ในไดเร็กทอรีรูทของโปรเจ็กต์ การกำหนดค่าทั้งหมดเช่นจุดเข้าไฟล์เอาต์พุตตัวโหลด ฯลฯ ทั้งหมดจะถูกเก็บไว้ในไฟล์กำหนดค่านั้น หลังจากนั้นฉันเพิ่มสคริปต์ในไฟล์ package.json ที่ใช้ไฟล์ webpack.config.js สำหรับการกำหนดค่า webpack และเริ่มดูไฟล์และสร้างไฟล์ที่รวม Js ในตำแหน่งที่กล่าวถึงในไฟล์ webpack.config.js
ฉันคิดว่าคุณสามารถใช้ vue-cli
หากคุณใช้ Vue CLI ร่วมกับแบ็กเอนด์เฟรมเวิร์กที่จัดการกับสินทรัพย์คงที่เป็นส่วนหนึ่งของการปรับใช้สิ่งที่คุณต้องทำคือตรวจสอบให้แน่ใจว่า Vue CLI สร้างไฟล์ที่สร้างขึ้นในตำแหน่งที่ถูกต้องจากนั้นทำตามคำแนะนำในการปรับใช้ของเฟรมเวิร์กแบ็กเอนด์ของคุณ .
หากคุณกำลังพัฒนาแอปส่วนหน้าแยกจากแบ็กเอนด์กล่าวคือแบ็กเอนด์ของคุณจะเปิดเผย API สำหรับส่วนหน้าเพื่อพูดคุยด้วยส่วนหน้าของคุณจะเป็นแอปที่คงที่โดยสิ้นเชิง คุณสามารถปรับใช้เนื้อหาที่สร้างขึ้นในไดเร็กทอรี dist ไปยังเซิร์ฟเวอร์ไฟล์แบบคงที่ใดก็ได้ แต่ตรวจสอบให้แน่ใจว่าได้ตั้งค่า baseUrl ที่ถูกต้อง
npm รันบิลด์ - สิ่งนี้จะอัปลักษณ์และย่อโค้ด
บันทึก index.html และโฟลเดอร์ dist ในไดเรกทอรีรากของเว็บไซต์ของคุณ
บริการโฮสติ้งฟรีที่คุณอาจสนใจ - โฮสติ้ง Firebase
หากคุณใช้ vue-cli และ webpack เมื่อคุณสร้างโครงการของคุณ
คุณสามารถใช้เพียง
npm รันคำสั่งbuildในบรรทัดคำสั่งและจะสร้างโฟลเดอร์ dist ในโปรเจ็กต์ของคุณ เพียงแค่อัปโหลดเนื้อหาของโฟลเดอร์นี้ไปยัง ftp ของคุณและเสร็จสิ้น
นี่มีไว้เพื่อใช้กับโฟลเดอร์ที่กำหนดเอง (หากคุณต้องการให้แอปของคุณไม่อยู่ในรูทเช่น URL / myApp /) - ฉันมองหาคำตอบนี้มานาน ... หวังว่ามันจะช่วยใครบางคนได้
รับ VUE CLI ที่https://cli.vuejs.org/guide/และใช้ UI build เพื่อให้ง่าย จากนั้นในการกำหนดค่าคุณสามารถเปลี่ยนเส้นทางสาธารณะเป็น / อะไรก็ได้ / และเชื่อมโยงไปยัง URL / อะไรก็ได้
ดูวิดีโอนี้ซึ่งอธิบายวิธีสร้างแอป vue โดยใช้ CLI หากคุณต้องการความช่วยเหลือเพิ่มเติม: https://www.youtube.com/watch?v=Wy9q22isx3U
ติดตั้ง Vue Cli ทั่วโลกก่อน
npm install -g @vue/cli
ในการสร้างโครงการใหม่ให้เรียกใช้:
vue create project-name
เรียกใช้ vue
npm run serve
Vue CLI> = 3 ใช้ vue ไบนารีเดียวกันดังนั้นจึงเขียนทับ Vue CLI 2 (vue-cli) หากคุณยังต้องการฟังก์ชัน vue init แบบเดิมคุณสามารถติดตั้ง global bridge ได้:
Vue Init ทั่วโลก
npm install -g @vue/cli-init
Vue สร้างแอป
vue init webpack my-project
เรียกใช้เซิร์ฟเวอร์นักพัฒนา
npm run dev
หากคุณต้องการสร้างและส่งไปยังเซิร์ฟเวอร์ระยะไกลของคุณคุณสามารถใช้ cli-service ( https://cli.vuejs.org/guide/cli-service.html ) คุณสามารถสร้างงานเพื่อให้บริการสร้างและอีกหนึ่งงานเพื่อปรับใช้กับบางส่วน ปลั๊กอินเฉพาะเป็นvue-cli-plugin-s3-deploy