ประกาศสำคัญ
พื้นที่เก็บข้อมูลนี้ถูกย้ายไปยังพื้นที่เก็บข้อมูลโมโนของ github.com/netlify/build ชื่อแพ็คเกจและเวอร์ชันจะถูกเก็บรักษาไว้!
ยูทิลิตี้การตรวจจับกรอบงาน
ตรวจจับว่าเว็บไซต์ใดใช้เฟรมเวิร์กใด คำสั่ง build/dev ไดเร็กทอรี และพอร์ตเซิร์ฟเวอร์ของเฟรมเวิร์กก็จะถูกส่งกลับเช่นกัน
ตรวจพบเฟรมเวิร์กต่อไปนี้:
หากคุณกำลังมองหาวิธีเรียกใช้ framework-info
ผ่าน CLI ให้ตรวจสอบโปรเจ็กต์ build-info
ยินดีต้อนรับการเพิ่มเติมและการอัปเดต!
import { listFrameworks , hasFramework , getFramework } from '@netlify/framework-info'
console . log ( await listFrameworks ( { projectDir : './path/to/gatsby/website' } ) )
// [
// {
// id: 'gatsby',
// name: 'Gatsby',
// category: 'static_site_generator',
// dev: {
// commands: ['gatsby develop'],
// port: 8000,
// pollingStrategies: [{ name: 'TCP' }, { name: 'HTTP' }]
// },
// build: {
// commands: ['gatsby build'],
// directory: 'public'
// },
// staticAssetsDirectory: "static",
// env: { GATSBY_LOGGER: 'yurnalist' },
// plugins: []
// }
// ]
console . log ( await listFrameworks ( { projectDir : './path/to/vue/website' } ) )
// [
// {
// id: 'vue',
// name: 'Vue.js',
// category: 'frontend_framework',
// dev: {
// commands: ['npm run serve'],
// port: 8080,
// pollingStrategies: [{ name: 'TCP' }, { name: 'HTTP' }]
// },
// build: {
// commands: ['vue-cli-service build'],
// directory: 'dist'
// },
// env: {},
// plugins: []
// }
// ]
console . log ( await hasFramework ( 'vue' , { projectDir : './path/to/vue/website' } ) )
// true
console . log ( await getFramework ( 'vue' , { projectDir : './path/to/vue/website' } ) )
// {
// id: 'vue',
// name: 'Vue.js',
// category: 'frontend_framework',
// dev: {
// commands: ['npm run serve'],
// port: 8080,
// pollingStrategies: [{ name: 'TCP' }, { name: 'HTTP' }]
// },
// build: {
// commands: ['vue-cli-service build'],
// directory: 'dist'
// },
// env: {},
// plugins: []
// }
npm install @netlify/framework-info
options
: object?
ส่งกลับค่า : Promise<object[]>
ประเภท : string
ค่าเริ่มต้น : process.cwd()
เส้นทางไปยังไดเร็กทอรีของเว็บไซต์
สิ่งนี้จะส่งคืน Promise
ที่แก้ไขเป็นอาร์เรย์ของอ็อบเจ็กต์ที่อธิบายแต่ละเฟรมเวิร์ก อาร์เรย์สามารถว่างเปล่า มีวัตถุเดียวหรือหลายวัตถุก็ได้
แต่ละวัตถุมีคุณสมบัติดังต่อไปนี้
ประเภท : string
รหัสเช่น "gatsby"
ประเภท : string
ชื่อเฟรมเวิร์ก เช่น "Gatsby"
ประเภท : string
หมวดหมู่ระหว่าง "static_site_generator"
, "frontend_framework"
และ "build_tool"
ประเภท : object
ข้อมูลเกี่ยวกับคำสั่ง dev
ประเภท : string[]
คำสั่งเดฟ อาจมีทางเลือกหลายทาง
ประเภท : number
พอร์ตเซิร์ฟเวอร์
ประเภท : object[]
กลยุทธ์การโพลที่จะใช้เมื่อตรวจสอบว่าเซิร์ฟเวอร์ dev พร้อมหรือไม่
ประเภท : object
ข้อมูลเกี่ยวกับคำสั่ง build
ประเภท : string[]
คำสั่งสร้าง. อาจมีทางเลือกหลายทาง
ประเภท : string
พาธสัมพัทธ์ไปยังไดเร็กทอรีที่สร้างไฟล์
ประเภท : string
ไดเร็กทอรีที่กรอบงานจัดเก็บสินทรัพย์คงที่ ไม่สามารถ undefined
ประเภท : object
ตัวแปรสภาพแวดล้อมที่ควรตั้งค่าเมื่อเรียกใช้คำสั่ง dev
ประเภท : string[]
รายการปลั๊กอิน Netlify ที่แนะนำสำหรับการติดตั้งสำหรับเฟรมเวิร์ก
options
: object?
ค่าส่งคืน : Promise<boolean>
เหมือนกับ listFramework()
ยกเว้นเฉพาะกรอบงานที่ระบุและส่งกลับค่าบูลีน
options
: object?
ส่งกลับค่า : Promise<object>
เช่นเดียวกับ listFramework()
ยกเว้นกรอบงานจะถูกส่งเป็นอาร์กิวเมนต์แทนที่จะถูกตรวจพบ วัตถุกรอบงานเดียวจะถูกส่งกลับ
$ framework-info [projectDirectory]
สิ่งนี้จะพิมพ์รหัสของแต่ละเฟรมเวิร์ก
ถ้ารู้ก็พิมพ์ unknown
ธงที่มีอยู่:
--long
: แสดงข้อมูลเพิ่มเติมเกี่ยวกับแต่ละเฟรมเวิร์ก ผลลัพธ์จะเป็นอาร์เรย์ JSON แต่ละเฟรมเวิร์กเป็นไฟล์ JSON ในไดเร็กทอรี /src/frameworks/
ตัวอย่างเช่น:
{
"id" : " gatsby " ,
"name" : " Gatsby " ,
"category" : " static_site_generator " ,
"detect" : {
"npmDependencies" : [ " gatsby " ],
"excludedNpmDependencies" : [],
"configFiles" : [ " gatsby-config.js " ]
},
"dev" : {
"command" : " gatsby develop " ,
"port" : 8000 ,
"pollingStrategies" : [{ "name" : " TCP " }, { "name" : " HTTP " }]
},
"build" : {
"command" : " gatsby build " ,
"directory" : " public "
},
"staticAssetsDirectory" : " static " ,
"env" : { "GATSBY_LOGGER" : " yurnalist " },
"plugins" : []
}
จำเป็นต้องมีคุณสมบัติทั้งหมด
ประเภท : string
รหัสของกรอบงาน
ประเภท : string
ชื่อของกรอบงาน
ประเภท : string
หนึ่งใน "static_site_generator"
, "frontend_framework"
หรือ "build_tool"
ประเภท : object
ข้อมูลที่ใช้ในการตรวจจับเฟรมเวิร์กนี้
ประเภท : string[]
แพ็คเกจ npm ของ Framework โปรเจ็กต์ใดๆ ที่มีหนึ่งในแพ็กเกจเหล่านั้นใน package.json
( dependencies
หรือ devDependencies
) จะได้รับการพิจารณาว่าใช้เฟรมเวิร์ก
หากว่างเปล่า ระบบจะละเว้นสิ่งนี้
ประเภท : string[]
ค่าผกผันของ npmDependencies
หากโปรเจ็กต์ใดใช้แพ็คเกจใดแพ็กเกจหนึ่งเหล่านั้น จะไม่ถือว่าใช้เฟรมเวิร์ก
หากว่างเปล่า ระบบจะละเว้นสิ่งนี้
ประเภท : string[]
ไฟล์การกำหนดค่าของ Framework สิ่งเหล่านั้นควรเป็นเส้นทางที่สัมพันธ์กับไดเร็กทอรีของโปรเจ็กต์ โปรเจ็กต์ใดๆ ที่มีไฟล์คอนฟิกูเรชันไฟล์ใดไฟล์หนึ่งจะได้รับการพิจารณาว่าใช้เฟรมเวิร์ก
หากว่างเปล่า ระบบจะละเว้นสิ่งนี้
ประเภท : object
พารามิเตอร์ในการตรวจจับคำสั่ง dev
ประเภท : string
คำสั่ง dev เริ่มต้น
ประเภท : number
พอร์ตเซิร์ฟเวอร์ dev ท้องถิ่น
ประเภท : object[]
กลยุทธ์การโพลที่จะใช้เมื่อตรวจสอบว่าเซิร์ฟเวอร์ dev พร้อมหรือไม่
ประเภท : object
พารามิเตอร์ในการตรวจหาคำสั่ง build
ประเภท : string
คำสั่ง build เริ่มต้น
ประเภท : string
ไดเร็กทอรีที่ไฟล์บิวด์ถูกเขียนถึง
ประเภท : string
ไดเร็กทอรีที่เฟรมเวิร์กจัดเก็บสินทรัพย์คงที่ที่เกี่ยวข้องกับเฟรมเวิร์ก
ประเภท : object
ตัวแปรสภาพแวดล้อมที่ควรตั้งค่าเมื่อรันคำสั่ง dev
ประเภท : object[]
รายการชื่อและเงื่อนไขแพ็คเกจปลั๊กอิน Netlify build หากตรงตามเงื่อนไขสำหรับปลั๊กอิน ปลั๊กอินนั้นจะถูกส่งกลับในรายการปลั๊กอินของเฟรมเวิร์ก
ตัวอย่างเช่น
{
"plugins" : [
{
"packageName" : " @netlify/plugin-nextjs " ,
"condition" : { "minNodeVersion" : " 10.13.0 " }
}
]
}