นี่คือเครื่องมือบรรทัดคำสั่งที่ช่วยสร้าง เรียกใช้ และทดสอบ WebExtensions
ท้ายที่สุดแล้ว มีเป้าหมายที่จะสนับสนุนส่วนขยายเบราว์เซอร์ในรูปแบบมาตรฐาน แบบพกพา และข้ามแพลตฟอร์ม ในช่วงแรก จะมอบประสบการณ์ที่มีประสิทธิภาพในการพัฒนาส่วนขยายของ Firefox
นี่คือคำสั่งที่คุณสามารถเรียกใช้ได้ คลิกที่แต่ละรายการเพื่อดูเอกสารโดยละเอียด หรือใช้ --help
ในบรรทัดคำสั่ง เช่น web-ext build --help
run
lint
sign
build
docs
web-ext
ในเบราว์เซอร์ ขั้นแรก ตรวจสอบให้แน่ใจว่าคุณใช้งาน NodeJS เวอร์ชัน LTS (การสนับสนุนระยะยาว) ปัจจุบัน
คุณสามารถติดตั้งคำสั่งนี้ลงในเครื่องของคุณได้ทั่วโลกด้วย:
npm install --global web-ext
หรือคุณสามารถติดตั้งคำสั่งนี้เป็นหนึ่งใน devDependencies
ของโปรเจ็กต์ของคุณได้ วิธีนี้สามารถช่วยคุณควบคุมเวอร์ชันของ web-ext
ที่ทีมของคุณใช้
npm install --save-dev web-ext
ถัดไป คุณสามารถใช้คำสั่ง web-ext
ในโปรเจ็กต์ของคุณเป็นสคริปต์ npm นี่คือตัวอย่างที่อาร์กิวเมนต์ --source-dir
ระบุตำแหน่งที่จะค้นหาซอร์สโค้ดสำหรับส่วนขยายของคุณ
package.json
"scripts" : {
"start:firefox" : " web-ext run --source-dir ./extension-dist/ " ,
}
คุณสามารถส่งคำสั่งเพิ่มเติมไปยังสคริปต์ npm ของคุณได้ตลอดเวลาโดยใช้ --
ต่อท้าย ตัวอย่างเช่น สคริปต์ก่อนหน้านี้สามารถระบุเวอร์ชันของ Firefox บนบรรทัดคำสั่งได้ดังนี้:
npm run start:firefox -- --firefox=nightly
ชุมชนรักษาสูตร web-ext
brew install web-ext
คุณจะต้องการ:
คุณอาจจะชอบ:
หากคุณได้ติดตั้ง web-ext
จาก npm แล้ว คุณอาจต้องถอนการติดตั้งก่อน:
npm uninstall --global web-ext
เปลี่ยนเป็นแหล่งที่มาและติดตั้งการอ้างอิงทั้งหมด:
git clone https://github.com/mozilla/web-ext.git
cd web-ext
npm ci
สร้างคำสั่ง:
npm run build
เชื่อมโยงกับการติดตั้งโหนดของคุณ:
npm link
ตอนนี้คุณสามารถเรียกใช้จากไดเร็กทอรีใดก็ได้:
web-ext --help
หากต้องการรับการอัปเดต เพียงดึงการเปลี่ยนแปลงและสร้างไฟล์ปฏิบัติการขึ้นมาใหม่ คุณไม่จำเป็นต้องเชื่อมโยงใหม่
cd /path/to/web-ext
git pull
npm run build
หมายเหตุ: API นี้มีการรองรับอย่างจำกัด
นอกเหนือจากการใช้ web-ext บนบรรทัดคำสั่งแล้ว คุณอาจต้องการรัน web-ext
ในโค้ด NodeJS
ในเวอร์ชัน 7.0.0
แพ็คเกจ web-ext
npm จะส่งออกโมดูล ES ดั้งเดิมของ NodeJS เท่านั้น หากคุณใช้ CommonJS คุณจะต้องใช้การนำเข้าแบบไดนามิก
คุณสามารถดำเนินการฟังก์ชันคำสั่งโดยไม่ต้องมีการตรวจสอบอาร์กิวเมนต์ใดๆ หากคุณต้องการรัน web-ext run
คุณจะต้องทำดังนี้:
import webExt from 'web-ext' ;
webExt . cmd
. run (
{
// These are command options derived from their CLI conterpart.
// In this example, --source-dir is specified as sourceDir.
firefox : '/path/to/Firefox-executable' ,
sourceDir : '/path/to/your/extension/source/' ,
} ,
{
// These are non CLI related options for each function.
// You need to specify this one so that your NodeJS application
// can continue running after web-ext is finished.
shouldExitProgram : false ,
} ,
)
. then ( ( extensionRunner ) => {
// The command has finished. Each command resolves its
// promise with a different value.
console . log ( extensionRunner ) ;
// You can do a few things like:
// extensionRunner.reloadAllExtensions();
// extensionRunner.exit();
} ) ;
หากคุณต้องการเรียกใช้ส่วนขยายบน Firefox สำหรับ Android:
import * as adbUtils from "web-ext/util/adb" ;
// Path to adb binary (optional parameter, auto-detected if missing)
const adbBin = "/path/to/adb" ;
// Get an array of device ids (Array<string>)
const deviceIds = await adbUtils . listADBDevices ( adbBin ) ;
const adbDevice = ...
// Get an array of Firefox APKs (Array<string>)
const firefoxAPKs = await adbUtils . listADBFirefoxAPKs (
deviceId , adbBin
) ;
const firefoxApk = ...
webExt . cmd . run ( {
target : 'firefox-android' ,
firefoxApk ,
adbDevice ,
sourceDir : ...
} ) . then ( ( extensionRunner ) => { ... } ) ;
หากคุณต้องการควบคุมการบันทึก คุณสามารถเข้าถึงวัตถุตัวบันทึกได้ นี่คือตัวอย่างของการเปิดการบันทึกแบบละเอียด:
import * as webExtLogger from 'web-ext/util/logger' ;
webExtLogger . consoleStream . makeVerbose ( ) ;
webExt . cmd . run ( { sourceDir : './src' } , { shouldExitProgram : false } ) ;
คุณยังสามารถปิดการใช้งานอินพุตมาตรฐานได้:
webExt . cmd . run ( { noInput : true } , { shouldExitProgram : false } ) ;
web-ext
ได้รับการออกแบบมาสำหรับ WebExtensions แต่คุณสามารถลองปิดการใช้งานการตรวจสอบรายการเพื่อทำงานกับส่วนขยายแบบเดิมได้ สิ่งนี้ไม่ได้รับการสนับสนุนอย่างเป็นทางการ
webExt . cmd . run (
{ sourceDir : './src' } ,
{
getValidatedManifest : ( ) => ( {
name : 'some-fake-name' ,
version : '1.0.0' ,
} ) ,
shouldExitProgram : false ,
} ,
) ;
ใช่! เครื่องมือ web-ext ช่วยให้คุณสร้างและจัดส่งส่วนขยายสำหรับ Firefox แพลตฟอร์มนี้มีความเสถียรใน Firefox 48 ซึ่งเปิดตัวในเดือนเมษายนปี 2559
สวัสดี! เครื่องมือนี้อยู่ระหว่างการพัฒนา หากต้องการมีส่วนร่วม คุณสามารถดู repo ยื่นปัญหา สร้างคำขอดึงข้อมูล หรือติดต่อเราเพื่อถามคำถาม อ่านส่วนสนับสนุนสำหรับวิธีพัฒนาคุณสมบัติใหม่
นี่เป็นคำถามที่ดีและเป็นคำถามที่เราจะถามตัวเองเกี่ยวกับคุณลักษณะ web-ext ใหม่แต่ละรายการ ฟังก์ชัน WebExtension ส่วนใหญ่จะถูกรวมไว้ในเบราว์เซอร์ แต่เครื่องมือบรรทัดคำสั่งฟรีจะยังคงมีประโยชน์อยู่ นี่คือรายการตัวอย่างบางส่วน: