คำถามติดแท็ก legacy

2
โหลดและใช้โมดูล JS ดั้งเดิม (เช่น IIFE) ผ่านการนำเข้าโมดูล ES6
ฉันมีฟังก์ชั่นIIFEสำหรับรหัสห้องสมุดบางส่วนในแอปพลิเคชันรุ่นเก่าที่ต้องทำงานกับ IE10 + (ไม่มีการโหลดโมดูล ES6 เป็นต้น) อย่างไรก็ตามฉันเริ่มพัฒนาแอป React ที่จะใช้ ES6 และ TypeScript และฉันต้องการใช้รหัสที่ฉันมีอยู่แล้วโดยไม่ต้องทำซ้ำไฟล์ หลังจากการวิจัยเล็กน้อยฉันพบว่าฉันต้องการใช้รูปแบบ UMD เพื่อให้ไฟล์ไลบรารีเหล่านี้ทำงานได้ทั้ง<script src=*>การนำเข้าและอนุญาตให้แอป React นำเข้าผ่านการโหลดโมดูล ES6 ฉันมาด้วยการแปลงต่อไปนี้: var Utils = (function(){ var self = { MyFunction: function(){ console.log("MyFunction"); } }; return self; })(); ถึง (function (global, factory) { typeof exports === 'object' && typeof module !== …

2
คัดลอกคอนสตรัคที่มีอาร์กิวเมนต์ที่ไม่ใช่ const แนะนำโดยกฎความปลอดภัยของเธรด?
ฉันมีเสื้อคลุมสำหรับรหัสดั้งเดิมบางส่วน class A{ L* impl_; // the legacy object has to be in the heap, could be also unique_ptr A(A const&) = delete; L* duplicate(){L* ret; legacy_duplicate(impl_, &L); return ret;} ... // proper resource management here }; ในรหัสดั้งเดิมนี้ฟังก์ชั่นที่ "ทำซ้ำ" วัตถุไม่ปลอดภัยเธรด (เมื่อเรียกอาร์กิวเมนต์แรกเดียวกัน) ดังนั้นมันจึงไม่ถูกทำเครื่องหมายconstใน wrapper ฉันเดากฎต่อไปนี้ที่ทันสมัย: https://herbsutter.com/2013/01/01/video-you-dont-know-const-and-mutable/ นี้ดูเหมือนจะเป็นวิธีที่ดีที่จะใช้ตัวสร้างสำเนายกเว้นสำหรับรายละเอียดมันที่ไม่ได้เป็นduplicate constดังนั้นฉันไม่สามารถทำสิ่งนี้โดยตรง: class A{ L* …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.