Skip to content

peacetrue/peacetrue-js

Repository files navigation

JS类库

文档待完善

2. node 支持 import 和 export

  1. 全局安装 babel-node 命令: npm install babel-cli -g

  2. 项目内安装babel预设环境: npm install babel-preset-env -D

  3. 使用 babel-node 代替 node:node src/cors.jsbabel-node --presets env src/cors.js

  4. 参数 --presets env 可使用配置文件 .babelrc 存储

3. TypeScript

tsc hello.ts

4. 疑问

4.1. 如何输出源码和压缩文件

开发模式下生成源码,生产环境下生成压缩代码

4.2. umd

生成的lib导出都是一个Module,module.default才是最终的内容,如何直接导出内容?

4.3. 如何排除内部模块引用

4.4. filename函数的入参结构

 { noChunkHash: false,
     contentHashType: 'javascript',
     chunk:
      Chunk {
        id: 2,
        ids: [Array],
        debugId: 1001,
        name: 'PropertyPath',
        preventIntegration: false,
        entryModule: [NormalModule],
        _modules: [SortableSet],
        filenameTemplate: undefined,
        _groups: [SortableSet],
        files: [],
        rendered: false,
        hash: '455d3207fbfe2eaa2be68329f6048129',
        contentHash: [Object],
        renderedHash: '455d3207fbfe2eaa2be6',
        chunkReason: undefined,
        extraAsync: false,
        removedModules: undefined },
     hash: 'b0a04b840b2fdf82db58' }
}

4.5. externals参数结构

arguments: [Arguments] {
  '0': '/Users/xiayx/Documents/Projects/js-util',
  '1': './src/core.js',
  '2': [Function] }
arguments: [Arguments] {
  '0': '/Users/xiayx/Documents/Projects/js-util',
  '1': './src/property-path.js',
  '2': [Function] }
arguments: [Arguments] {
  '0': '/Users/xiayx/Documents/Projects/js-util',
  '1': './src/object.js',
  '2': [Function] }
arguments: [Arguments] {
  '0': '/Users/xiayx/Documents/Projects/js-util/src',
  '1': './core',
  '2': [Function] }
arguments: [Arguments] {
  '0': '/Users/xiayx/Documents/Projects/js-util/src',
  '1': './property-path',
  '2': [Function] }

5. Core

5.1. isPrimitiveOrWrapper

是否原始类型或其封装类型。 原始类型包括boolean, number, string, function, 对应的封装类型为Boolean, Number, String, Function

示例

6. PropertyPath

嵌套对象中从根属性到叶子属性组成的路径。

例如:

let demo = {
    undefined: undefined,
    null: null,
    boolean: true,
    number: 1,
    string: "string",
    function: function () {},
    array: [1, 'string', {name: 'hi array'}],
    object: {name: 'hi object'},
    date: new Date(),
}
  • array[3].name : 'hi array'

  • object.name : 'hi object'

7. Object

8. async-validator

8.1. requires

多个属性中至少有一个不为null 或者 undefined

8.2. depend

属性B依赖于属性A; 属性A有值,则属性B必须有值; 属性A无值,则属性B可以有值也可以无值。

8.3. unique

唯一性校验,支持多字段唯一性

9. axios

配置默认axios

Releases

No releases published

Packages

No packages published