ฉันต้องการทำสิ่งต่อไปนี้ แต่มีบรรทัดเดียวถ้าเป็นไปได้:
import Module from './Module/Module;'
export Module;
ฉันลองทำสิ่งต่อไปนี้แล้ว แต่ดูเหมือนจะไม่ได้ผล:
export Module from './Module/Module;
ฉันต้องการทำสิ่งต่อไปนี้ แต่มีบรรทัดเดียวถ้าเป็นไปได้:
import Module from './Module/Module;'
export Module;
ฉันลองทำสิ่งต่อไปนี้แล้ว แต่ดูเหมือนจะไม่ได้ผล:
export Module from './Module/Module;
คำตอบ:
export {default as Module} from './Module/Module';
เป็นวิธี ES6 มาตรฐานตราบเท่าที่คุณไม่จำเป็นต้องModule
มีอยู่ภายในโมดูลที่ทำการส่งออก
export Module from './Module/Module';
เป็นวิธี ESnext ที่นำเสนอ แต่จะใช้ได้เฉพาะเมื่อคุณเปิดใช้งานใน Babel แล้ว
component
ขณะนี้เป็นแบบอ่านอย่างเดียวและไม่สามารถโหลดใหม่ได้ ที่แปลกมาก!
export-extensions
ที่นี่ - babeljs.io/docs/plugins/transform-export-extensions
export { default as default } from
หรือexport { default } from
ฉันไม่รู้ว่าทำไม แต่สิ่งนี้เหมาะกับฉัน:
ส่วนประกอบ / index.js:
import Component from './Component';
import Component2 from './Component2';
import Component3 from './Component3';
import Component4 from './Component4';
export {Component, Component2, Component3, Component4};
ฉันนำเข้าการส่งออกดังนี้:
import {Component, Component2, Component3, Component4} from '../components';
โปรดทราบว่าคุณสามารถรีพอร์ตทุกอย่างได้จากโมดูล:
export * from './Module/Module';
สำหรับส่วนประกอบ React Native ไวยากรณ์นี้ใช้ได้กับฉัน:
export {default} from 'react-native-swiper';
ดังนั้นฉันพบว่าสิ่งนี้ทำงานได้ดีสำหรับฟังก์ชันการส่งออกทันทีโดยมีindex.js
ที่รากของcomponents
ไดเรกทอรีเพื่อให้อ้างอิงได้ง่าย:
import Component from './Component/Component'
import ComponentTwo from './ComponentTwo/ComponentTwo'
module.exports = {
Component,
ComponentTwo
};
module.exports
คุณจำเป็นต้องใช้
Component
จะไม่อ้างอิงถึงองค์ประกอบที่ส่งออกอีกต่อไป แต่จะเป็นวัตถุแทนโดยมีการอ้างอิงอินสแตนซ์ของคุณอยู่Component.default
module.exports
? ฉันชอบวิธีการบรรจุส่วนประกอบมากมายลงในindex.js
แต่ไม่สามารถหาไวยากรณ์ได้ import x from 'x'; import y from 'y'; export default {x, y};
จากนั้นใช้import {x} from xy;
ไม่ได้ (และฉันคิดไม่ออกว่าทำไมไม่)
export {x, y}
แทนไหม
module.exports = require('./inner.js')
หรือไม่ และคือexport { foo as default }
ES6 ถูกต้อง?