首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    现代 JavaScript 库打包指南

    import 用于当有人通过 import 使用你的库时 require 用于当有人通过 require 使用你的库时 default 字段用于兜底,在没有任何条件匹配时使用。...你可以选择 "type":"module" 或 "type":"commonjs",也可以不添加该字段(默认为 CommonJS),但仍强烈建议你进行设置,显式地声明你正在使用哪一个。...设置 module 字段 module 定义 ESM 入口 module 是一个当打包工具或运行时不支持 package.json#exports 时的兜底方案;如果打包工具或运行时支持 package...module 应该指向一个兼容 ESM 格式的产出;它应该与 package exports 中的 module 或 import 保持一致。...browser 应该指向能在浏览器中工作的 esm 产出。但是,只有在为浏览器和服务器(等其他非浏览器环境)创建不同的产出时,才需要设置该字段。

    2.4K20

    如何规范地发布一个现代化的 NPM 包?

    import 用于当有人通过 import 使用你的库时 require 用于当有人通过 require 使用你的库时 default 字段用于兜底,在没有任何条件匹配时使用。...你可以选择 "type":"module" 或 "type":"commonjs",也可以不添加该字段(默认为 CommonJS),但仍强烈建议你进行设置,显式地声明你正在使用哪一个。...设置 module 字段 module 定义 ESM 入口 module 是一个当打包工具或运行时不支持 package.json#exports 时的兜底方案;如果打包工具或运行时支持 package...module 应该指向一个兼容 ESM 格式的产出;它应该与 package exports 中的 module 或 import 保持一致。...browser 应该指向能在浏览器中工作的 esm 产出。但是,只有在为浏览器和服务器(等其他非浏览器环境)创建不同的产出时,才需要设置该字段。

    2.3K20

    带你深入了解 Module

    模块介绍 当我们的应用程序变大时,我们想要把它分割成多个文件,也就是所谓的“模块”。一个模块可以包含一个用于特定目的的类或函数库。 很长一段时间以来,JavaScript都没有语言级的模块语法。...doctype html> type="module"> import {sayHi} from '....当使用模块时,我们应该注意HTML页面在加载时显示,JavaScript模块在加载后运行,所以用户可能在JavaScript应用程序准备好之前看到页面。有些功能可能还不能工作。...异步在内联脚本上工作 对于非模块脚本,async属性只对外部脚本有效。异步脚本在准备好后立即运行,独立于其他脚本或HTML文档。 对于模块脚本,它也适用于内联脚本。..."> 不允许出现裸模块 在浏览器中,import必须获得一个相对URL或绝对URL。

    1.1K20

    现代 JavaScript 库打包指南

    你可以从这里、这里、还有 这里了解更多关于 module 的内容 import 用于当有人通过 import 使用你的库时 require 用于当有人通过 require 使用你的库时 default...你可以选择 "type":"module" 或 "type":"commonjs",也可以不添加该字段(默认为 CommonJS),但仍强烈建议你进行设置,显式地声明你正在使用哪一个。...设置 module 字段 module 定义 ESM 入口 module 是一个当打包工具或运行时不支持 package.json#exports 时的兜底方案;如果打包工具或运行时支持 package...module 应该指向一个兼容 ESM 格式的产出;它应该与 package exports 中的 module 或 import 保持一致。...browser 应该指向能在浏览器中工作的 esm 产出。但是,只有在为浏览器和服务器(等其他非浏览器环境)创建不同的产出时,才需要设置该字段。

    89810

    现代 JavaScript 库打包指南

    import 用于当有人通过 import 使用你的库时 require 用于当有人通过 require 使用你的库时 default 字段用于兜底,在没有任何条件匹配时使用。...你可以选择 "type":"module" 或 "type":"commonjs",也可以不添加该字段(默认为 CommonJS),但仍强烈建议你进行设置,显式地声明你正在使用哪一个。...设置 module 字段 module 定义 ESM 入口 module 是一个当打包工具或运行时不支持 package.json#exports 时的兜底方案;如果打包工具或运行时支持 package...module 应该指向一个兼容 ESM 格式的产出;它应该与 package exports 中的 module 或 import 保持一致。...browser 应该指向能在浏览器中工作的 esm 产出。但是,只有在为浏览器和服务器(等其他非浏览器环境)创建不同的产出时,才需要设置该字段。

    92730

    初次在Vue项目使用TypeScript,需要做什么

    其次,TypeScript 增加了代码的可读性和可维护性,类型定义实际上就是一个很好的文档,比如在调用函数时,通过查看参数和返回值的类型定义,就大概知道这个函数如何使用。...此外,不同的用户社区通常有针对ESLint而不是TSLint构建的lint规则(例如React hook或Vue的规则)。鉴于此,我们的编辑团队将专注于利用ESLint,而不是复制工作。...$route.params.type } } 类成员修饰符,不添加修饰符则默认为public public:公有,可以自由访问类的成员 protected:保护,类及其继承的子类可访问...为vue实例添加属性/方法 当我们在使用this.route或一些原型上的方法时,typescript无法进行推断,在编译时会报属性route不存在的错误,需要为这些全局的属性或方法添加全局声明 对shims-vue.d.ts...: any; } 自定义三方库声明 当使用的三方库未带有 *.d.ts 声明文件时,在项目编译时会报这样的错误: Could not find a declaration file for module

    6.6K40

    Python自定义函数

    Python函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码块 我们之前使用的比如print(),就是Python为我们提供好的内建函数,但是你也可以自己创建函数,而这种函数呢,我们将之称为自定义函数...只要一行代码调用yes_no函数即可,大大减少了重复的工作量。...调用abs函数: >>>abs(10) 10 >>>abs(-10) 10 >>>abs(10.11) 10.11 调用函数时,如果参数的数量和所需参数不匹配,会报TypeError的错误,并且Python...文件1时,我们在py文件2想调用时如何使用呢,往下看: 方法一: 要想使用模块中的函数需要:模块名+函数名 import module # 这个module就是封装函数的那个文件名 test = module.max...(1,2,3) # 这里使用的是一个内置函数,自定义函数同理 print(test) 方法二: 导入指定模块的指定函数: from 模块名 import 函数名 from module import test_add

    82130

    最适合Java程序员的ES6教程「6000字|大量案例|多练好懂」

    ,需要使用【{}】花括号包裹起来 */ 5.3.6、案例5:关于函数体的其他说明 如果函数中有单个表达式或语句:那么「1、函数体外部的{}是可以省略的;2、使用return可以省略。」...「箭头函数不绑定this,换句话说,箭头函数是没有自己的this,如果在箭头函数中使用this,那么this指向的是箭头函数所在定义位置中的this,也就是说箭头函数定义在哪里,箭头函数中的this就指向谁...通俗一点说,箭头函数里的this指的是定义这个箭头函数时外层代码的this。」.../Utils.js" fn(); 6.5、default的用法 使用import命令的时候,用户需要知道所要加载的变量名或函数名,否则无法加载。...在一个模块中,可以同时使用export default 和export 向外暴露成员 export可以向外暴露多个成员,同时,如果某些成员,在import导入时不需要,可以在import时不写。

    1.6K20

    《做一个不背锅的运维:Python中的反射》

    Python中的反射主要涉及以下几个内置函数和语句:getattr():获取对象的属性或方法。可以通过对象和字符串的方式传递属性或方法名,并且还可以提供一个默认值,用于在属性或方法不存在时返回。...可以使用dir()函数来获取对象的所有属性和方法的列表。type():获取对象的类型。可以使用type()函数来获取对象的类型信息。...() 导入模块import importlibmodule_name = 'math'module = importlib.import_module(module_name)# 使用 getattr(...__', 'my_method']动态调用模块中的函数# 使用 importlib.import_module() 导入模块import importlibmodule_name = 'math'module... = importlib.import_module(module_name)# 使用 getattr() 访问模块中的函数sqrt_function = getattr(module, 'sqrt')

    56020

    d.ts

    :不暴露全局变量,需要通过特定加载机制(如require/define/import)引用的模块形式的类库 plugin:会影响其它类库功能的类库(当然,也可能会影响原声明,比如添个新API) 3种类库对应的声明文件细分成.../UMD类库依赖UMD类库时则用import语句: import * as someLib from 'someLib'; P.S.关于声明文件引用方式的更多信息,请查看 四.语法格式 全局变量 /**...也是一种可复用类型,上例声明了类型别名GreetingLike,要求参数g是字符串或返回字符串的函数或MyGreeter实例 类型“模块” declare namespace GreetingLib {.../ 模块 namespace, module // 枚举 enum // 类 class // 值引用 import // 函数 function 命名空间可以用来组织类型,例如let x: A.B.C...TypeScript编译源码时本来就会推断校验参数类型,函数签名等,这些信息输出出来就是d.ts: When a TypeScript script gets compiled there is an

    2.9K30

    Node.js 中的ES模块现状

    浏览器通过 标记的扩展解决了区别问题:没有 type 属性或带有 type="text/javascript" 属性的脚本仍然在传统模式下运行,而当脚本使用 type ="module".../my-module'; 但是,这会不可避免地延迟模块的执行,直到加载 fs 和 ./my-module,但它们不会阻止其他模块的执行。当模块必须动态加载时,会变得更加复杂。.../my-other-module'); 3} import 作为一个函数使用,它不是 ECMAScript 6 的一个组件,而是一个所谓的 Stage 3 提案,有可能会在下一个 JavaScript...现在使用的 JSON 格式扩展了一个名为 type 的新属性。可以选择将其更改为 commonjs 或 module 以确定默认情况下应加载的包中所包含的 JavaScript 文件的模式。...()); 4}) 5.catch(err => { 6 console.error(err); 7}); 这样做的缺点是 CommonJS 模块不能像往常那样在开始时访问其他模块或软件包,但只能在事实和异步之后才能访问

    1.4K40

    Javascript模块化详解

    然而,如果工厂方法的长度属性小于3,加载器会选择以函数的长度属性指定的参数个数调用工厂方法。 factory:模块的工厂函数,模块初始化要执行的函数或对象。如果为函数,它应该只被执行一次。...ES6模块输出的是值的引用,加载的时候会做静态优化 CommonJS模块是运行时加载确定输出接口,ES6模块是编译时确定输出接口 ES6模块功能主要由两个命令构成:import和export。...= '2021'; // 输出一个对象(推荐) const name = 'Clearlove'; const year = '2021'; export { name, year} // 输出函数或类...外链js文件: type="module" src="index.js"> 内嵌在网页中 type="module"> import utils from...如果不希望将后缀名改成.mjs,可以在项目的package.json文件中,指定type字段为 { "type": "module" } 一旦设置了以后,该目录里面的 JS 脚本,就被解释用 ES6

    58220

    Node.js 项目 TypeScript 改造指南

    * 写法,在编译成 commonjs 后包裹了一个__importStar工具函数,其作用是:如果导入模块 __esModule 属性为 true,则直接返回 module.exports。...mod 这种写法,在编译成 commonjs 后包裹了一个__importDefault工具函数,其作用是:如果导入模块__esModule为 true,则直接返回module.exports。...Type 'typeof moment' has no call signatures.ts(2349) gulp-task.ts(15, 1): Type originates at this import...提示你使用default导入或import require写法,当你改成default导入时:import moment from'moment'; moment(); ,则在导入语句处会提示: Module...declare module 'mod' 至于为什么需要放在 typings 目录,并且以包名作为子包目录,因为不这样写,ts-node(下文会提到)识别不了,暂且按照 ts-node 的规范来吧。

    8.4K32
    领券