当前位置: 首页 > news >正文

广州红鼎网站建设有限公司怎么样网络推广推广

广州红鼎网站建设有限公司怎么样,网络推广推广,接网站开发的公司,手机端网站开发素材文章目录环境导入相关main 和 modulewebpack resolve.mainFieldsbrowserexports定义其他模块根据导入语句导出嵌套环境导出vue中 exports 用法自定义运行环境环境导入相关 main 和 module 根据导入模块时不同的模块规范语句查找不同的入口文件 "main": "dist…

文章目录

  • 环境导入相关
    • main 和 module
    • webpack resolve.mainFields
    • browser
    • exports
      • 定义其他模块
      • 根据导入语句导出
      • 嵌套环境导出
      • vue中 exports 用法
      • 自定义运行环境

环境导入相关

main 和 module

  • 根据导入模块时不同的模块规范语句查找不同的入口文件
"main": "dist/vue.runtime.common.js", // cjs引入
"module": "dist/vue.runtime.esm.js",  // esm引入
  • cjs:“node_modules/vue/dist/vue.runtime.common.js”
  • esm:“node_modules/vue/dist/vue.runtime.esm.js”

当 main 和 module 都不存在时 ,会去查找项目的index.js入口文件

webpack resolve.mainFields

通过webpack自定义查找规则

  • webpack 在 target: web 的情况下 ,mainFields 字段默认为 [‘browser’, ‘module’, ‘main’] 。

browser

  • 针对于浏览器环境下的入口文件定义字段。
"browser": "./lib/browser/main.js"

配合webpack使用

mainFields: ['browser', 'module', 'main'],
  • map结构进行条件映射
 "browser": {"./src/server.js": "./src/client.js"// 浏览器环境下会映射路径"./src/server.js": false, // 如果是浏览器环境下不会将该包的 /src/server.js 模块内容打包进去},
// 在浏览器环境下会被映射成 import server from './src/client'
import server from './src/server'
import client from './src/client'if (typeof window === 'undefined') {console.log(server)
} else {console.log(client)
}

exports

  • 约定包中导出的路径,不能引入未在 exports 中定义的模块
  • 优先级最高,若存在 exports 会忽略 main 等字段
  • webpack 中 resolve.conditionNames 可配合此字段进行导出设置,同理 resolve.mainFields 会失去效果
{// 表示该包仅存在默认导出,默认导出为 ./index.js"exports": "./index.js"
}// 上述的写法相当于
{"exports": {".": "./index.js"}
}
// Error
// 此时控制台会报错,找不到该模块(无法引入在 exports 未定义的子模块路径)
import x from 'x/src/server.js'// correct
import x from 'x'

定义其他模块

  "exports": {".": "./index.js",// 同时额外定义一个可以被引入的子路径// 可以通过 import x from 'x/submodule.js' 进行引入 /src/submodule.js 的文件"./submodule.js": "./src/submodule.js"}

根据导入语句导出

// package.json
{"exports": {// ESM 引入时的入口文件"import": "./index-module.js",// CJS 方式引入时寻找的路径"require": "./index-require.cjs","default":"xxx"},
}// 相当于
{"exports": {"import": {".":  "./index-module.js"},"require": {".": "./index-require.cjs"},"default":"xxx"},
}

或者

{"exports": {".": "./index.js","./feature.js": {"import": "./feature-node.js","default": "./feature.js"}}
}

嵌套环境导出

{"exports": {"node": {"import": "./feature-node.mjs","require": "./feature-node.cjs"},"default": "./feature.mjs"}
}

其他环境

  • “types”- typescipt 可以使用它来解析给定导出的类型定义文件
  • “deno”- 表示 Deno 平台的关键 key。
  • “browser”- 任何 Web 浏览器环境。
  • “development”- 可用于定义仅开发环境入口点,例如提供额外的调试上下文。
  • “production”- 可用于定义生产环境入口点。必须始终与 互斥"development"。

vue中 exports 用法

// ...
"exports": {".": {"import": {"node": "./index.mjs","default": "./dist/vue.runtime.esm-bundler.js"},"require": "./index.js","types": "./dist/vue.d.ts"},"./server-renderer": {"import": "./server-renderer/index.mjs","require": "./server-renderer/index.js"},"./compiler-sfc": {"import": "./compiler-sfc/index.mjs","require": "./compiler-sfc/index.js"},"./dist/*": "./dist/*","./package.json": "./package.json","./macros": "./macros.d.ts","./macros-global": "./macros-global.d.ts","./ref-macros": "./ref-macros.d.ts"}// ...

自定义运行环境

  • 在运行 NodeJs 脚本时可以通过 --conditions 标志添加自定义用户条件
// 此时运行环境变成了custom,可以在exports中设置custom字段进行条件导出
node --conditions=custom src/index.js
http://www.rdtb.cn/news/15406.html

相关文章:

  • 刷网站排名 优帮云游戏推广怎么做
  • 哪个网站可以做免费商业推广西安网络推广seo0515
  • wordpress后台添加一级菜单seo公司是做什么的
  • 有口碑的唐山网站建设网站推广及seo方案
  • 网络开发工程师网站推广优化排名
  • 做数据表格的网站网络营销的专业知识
  • 学科基地网站建设广告推广怎么做最有效
  • 法律垂直问答网站怎样做新媒体运营
  • 大良营销网站建设效果一键开发小程序
  • 小程序有做门户网站优秀网站设计网站
  • 网络推广培训方案黄山seo
  • 怎么找网站啊搜索引擎的使用方法和技巧
  • 笔记模板wordpressseo培训赚钱
  • 淘宝网站建设预算表中国十大小说网站排名
  • 百度推广 做网站深圳网络营销软件
  • 做网站怎么自定义背景图片免费发外链的网站
  • 无锡网站建设 app怎么申请网站详细步骤
  • 苹果软件做ppt模板下载网站有哪些农技推广
  • 网站 seo 如何使用 数字营销策划
  • 南通专业网站制作seo入门培训学多久
  • dream8网站建设教程视频南京百度推广
  • 大型网站的空间seo外链优化
  • 网站被js植入广告360搜索引擎的特点
  • 公司做的网站列入什么科目seo专业培训技术
  • 做网站维护有前途吗湖人队最新消息
  • 南昌网站建设培训学校搜索关键词排名优化
  • 没有服务器 怎么做网站搜索引擎关键词广告
  • 在源码之家下载的网站模板可以作为自己的网站吗水平优化
  • 广州一站式网站建设网络推广销售是做什么的
  • 网站如何更换空间台州网络推广