zoukankan      html  css  js  c++  java
  • es6模块化 export common.js模块化require

    
    

    require/exports 和 import/export 形式不一样

    require/exports 的用法只有以下三种简单的写法:

    const fs = require('fs')
    exports.fs = fs
    module.exports = fs

    而 import/export 的写法就多种多样:

    import fs from 'fs'
    import {default as fs} from 'fs'
    import * as fs from 'fs'
    import {readFile} from 'fs'
    import {readFile as read} from 'fs'
    import fs, {readFile} from 'fs'
    
    export default fs
    export const fs
    export function readFile
    export {readFile, read}
    export * from 'fs'

    1.export与export default均可用于导出常量、函数、文件、模块等 2.你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用 3.在一个文件或模块中,export、import可以有多个,export default仅有一个 4.通过export方式导出,在导入时要加{ },export default则不需要 //1.export a.js export const str = "blablabla~"; export function log(sth) { return sth; } //b.js 对应的导入方式: import { str, log } from 'a'; //也可以分开写两次,导入的时候带花括号 // 2.export default //a.js const str = "blablabla~"; export default str; // 对应的导入方式: // b.js import str from 'a'; 使用export default命令,为模块指定默认输出,这样就不需要知道所要加载模块的变量名 //a.js let sex = "boy"; export default sex(sex不能加大括号) //原本直接export sex外部是无法识别的,加上default就可以了.但是一个文件内最多只能有一个export default。 其实此处相当于为sex变量值"boy"起了一个系统默认的变量名default,自然default只能有一个值,所以一个文件内不能有多个export default。 // b.js 本质上,a.js文件的export default输出一个叫做default的变量,然后系统允许你为它取任意名字。所以可以为import的模块起任何变量名,且不需要用大括号包含 import any from "./a.js" import any12 from "./a.js" console.log(any,any12) // boy,boy

      

  • 相关阅读:
    在windows下安装环回适配器(Microsoft Loopback Adapter)
    c#中的 ? 与 ??
    MVC中提交包含HTML代码的页面处理方法
    Linux(CentOS)日常操作命令
    MySql命令行下导出、导入数据
    NHibernate中text类型字段太长时被截断解决办法
    windows7下修改hosts文件无效解决办法
    IIS与Apache同时使用80端口
    因为数据库正在使用,所以无法获得对数据库的独占访问权 SQL 2005 / SQL 2008
    在windows64位服务器上运行windows32位机器上开发的asp.net应用程序
  • 原文地址:https://www.cnblogs.com/tiangeng/p/10015226.html
Copyright © 2011-2022 走看看