ทาง AWS ได้ปรับแต่งโจมตีฉันเป็นจริงแปลก คุณสามารถเห็นได้ชัดว่าตั้ง config อยู่ในแฟ้มเดียวแล้วคุณไม่ต้อง export
ที่ปรับแต่ง AWS วัตถุคุณสามารถนำเข้ามันตรงมาจากโหนดอดูลอีกครั้ง ฉันมีช่วงเวลาที่ยากลำบากมากเข้าใจวิธี/ทำไมมันทำงาน:
// config.js
const AWS = require('aws-sdk')
AWS.config.update({ region: 'us-east-2', signatureVersion: 'v4' })
งั้นบางอย่างอื่นแฟ้ม,ฉันสามารถนำเข้า AWS เหมือนนี้และ config เฉยๆเหมือนมีเวทย์มนต์สติกกับมัน:
// some other js file
const AWS = require('aws-sdk') // look, I didn't import this from config.js!
const s3 = new AWS.S3() // it knows how to use the right region & signature!
ทำไมผมถึงไม่ควรส่งออกที่ AWS ว่าฉันปรับแต่งค่าแล้วนำมันไปแทนงั้นเหรอ? ยังไงก็คือการปรับแต่งคัดลอกไปแม้แต่ตอนที่ฉันไม่ได้กำลังนำเข้าจากแฟ้มปรับแต่ง?