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

国外网站怎么做近期重大新闻

国外网站怎么做,近期重大新闻,网站建设的基本话术,中国排名高的购物网站文章目录 前言ts是什么?基础配置LoaderSource MapsClient types使用第三方类库导入其他资源 后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:webpack 🐱‍👓博主在前端领域还有很多知识和技术需要掌握…

文章目录

  • 前言
  • ts是什么?
  • 基础配置
  • Loader
  • Source Maps
  • Client types
    • 使用第三方类库
    • 导入其他资源
  • 后言

前言

hello world欢迎来到前端的新世界


😜当前文章系列专栏:webpack
🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家指出)🌹
💖感谢大家支持!您的观看就是作者创作的动力

ts是什么?

TypeScript 是 JavaScript 的超集,为其增加了类型系统,可以编译为普通 JavaScript 代码。这篇指南里我们将会学习是如何将 webpack 和TypeScript 进行集成。

感兴趣的可以去看
ts的介绍以及ts和js的区别

基础配置

首先,执行以下命令安装 TypeScript compiler 和 loader:

npm install --save-dev typescript ts-loader

现在,我们将修改目录结构和配置文件:

project

  webpack-demo|- package.json|- package-lock.json
+ |- tsconfig.json|- webpack.config.js|- /dist|- bundle.js|- index.html|- /src|- index.js
+   |- index.ts|- /node_modules

tsconfig.json

这里我们设置一个基本的配置来支持 JSX,并将 TypeScript 编译到 ES5……

{"compilerOptions": {"outDir": "./dist/","noImplicitAny": true,"module": "es6","target": "es5","jsx": "react","allowJs": true,"moduleResolution": "node"}
}

现在,配置 webpack 处理 TypeScript:

webpack.config.js

const path = require('path');module.exports = {entry: './src/index.ts',module: {rules: [{test: /\.tsx?$/,use: 'ts-loader',exclude: /node_modules/,},],},resolve: {extensions: ['.tsx', '.ts', '.js'],},output: {filename: 'bundle.js',path: path.resolve(__dirname, 'dist'),},
};

这会让 webpack 直接从./index.ts进入,然后通过 ts-loader 加载所有的 .ts .tsx 文件,并且在当前目录输出一个 bundle.js 文件。

现在让我们改变lodash./index.ts 文件中的引入, 因为在 lodash 的定义中没有默认(default)的导出。

./index.ts

- import _ from 'lodash';
+ import * as _ from 'lodash';function component() {const element = document.createElement('div');element.innerHTML = _.join(['Hello', 'webpack'], ' ');return element;}document.body.appendChild(component());

Tip
如果想在 TypeScript 中保留如import _ from ‘lodash’;的语法被让它作为一种默认的导入方式,需要在文件 tsconfig.json 中设置 “allowSyntheticDefaultImports” : true 和 “esModuleInterop” : true 。这个是与 TypeScript 相关的配置,在本文档中提及仅供参考。

Loader

在本指南中,我们使用 ts-loader,因为它能够很方便地启用额外的 webpack 功能,例如将其他 web 资源导入到项目中。

Warning
​ ts-loader​ 使用 TypeScript 编译器 tsc ,并依赖于您的 ​tsconfig.json​ 配置文件。请确保避免将"module"设置为"CommonJS",否则Webpack将无法进行代码摇树优化(tree-shaking

请注意,如果您已经在使用​ babel-loader​ 来转译您的代码,您可以使用​ @babel/preset-typescript​ 来让Babel处理您的JavaScriptTypeScript文件,而无需使用额外的加载器。请记住,与ts-loader相反,底层的 @babel/plugin-transform-typescript​ 插件不会执行任何类型检查。

Source Maps

想要启用 source map,我们必须配置 TypeScript,以将内联的 source map 输出到编译后的 JavaScript 文件中。必须在 TypeScript 配置中添加下面这行:

  {"compilerOptions": {"outDir": "./dist/",
+     "sourceMap": true,"noImplicitAny": true,"module": "commonjs","target": "es5","jsx": "react","allowJs": true,"moduleResolution": "node",}}

现在,我们需要告诉 webpack 提取这些 source map,并内联到最终的 bundle 中。

webpack.config.js

  const path = require('path');module.exports = {entry: './src/index.ts',
+   devtool: 'inline-source-map',module: {rules: [{test: /\.tsx?$/,use: 'ts-loader',exclude: /node_modules/,},],},resolve: {extensions: [ '.tsx', '.ts', '.js' ],},output: {filename: 'bundle.js',path: path.resolve(__dirname, 'dist'),},};

Client types

你可以在 TypeScript 代码中使用 webpack 特定的特性,比如 import.meta.webpack。并且 webpack 也会为它们提供类型支持,只需要添加一个 TypeScript reference 声明:

/// <reference types="webpack/module" />
console.log(import.meta.webpack); // 没有上面的声明的话,TypeScript 会抛出一个错误

使用第三方类库

在从 npm 安装 third party library(第三方库) 时,一定要记得同时安装此 library 的类型声明文件(typing definition)。你可以从 TypeSearch 中找到并安装这些第三方库的类型声明文件。

举个例子,如果想安装 lodash 类型声明文件,我们可以运行下面的命令:

npm install --save-dev @types/lodash

导入其他资源

想要在 TypeScript 中使用非代码资源(non-code asset),我们需要告诉 TypeScript 推断导入资源的类型。在项目里创建一个 ​custom.d.ts​ 文件,这个文件用来表示项目中 TypeScript 的自定义类型声明。我们为 .svg 文件设置一个声明:
custom.d.ts

declare module '*.svg' {const content: any;export default content;
}

H 这里,我们通过指定任何以 .svg 结尾的导入(import),将 SVG 声明(declare) 为一个新的模块(module),并将模块的 content 定义为 any。我们可以通过将类型定义为字符串,来更加显式地将它声明为一个 url。同样的概念适用于其他资源,包括 CSS, SCSS, JSON 等。

后言

创作不易,要是本文章对广大读者有那么一点点帮助 不妨三连支持一下,您的鼓励就是博主创作的动力


文章转载自:
http://verbalizable.pfbx.cn
http://premaxillary.pfbx.cn
http://laccolith.pfbx.cn
http://soldiery.pfbx.cn
http://lempert.pfbx.cn
http://sundry.pfbx.cn
http://photophosphorylation.pfbx.cn
http://navigator.pfbx.cn
http://presbyopic.pfbx.cn
http://pseudoparenchyma.pfbx.cn
http://dominical.pfbx.cn
http://aggravate.pfbx.cn
http://indochina.pfbx.cn
http://lemures.pfbx.cn
http://amiantus.pfbx.cn
http://conoidal.pfbx.cn
http://brutal.pfbx.cn
http://curvilineal.pfbx.cn
http://hemmer.pfbx.cn
http://disinheritance.pfbx.cn
http://rhinolaryngology.pfbx.cn
http://amphion.pfbx.cn
http://familist.pfbx.cn
http://tremblant.pfbx.cn
http://noteworthiness.pfbx.cn
http://ordinary.pfbx.cn
http://sdram.pfbx.cn
http://primordia.pfbx.cn
http://synovitis.pfbx.cn
http://depressor.pfbx.cn
http://douane.pfbx.cn
http://xsl.pfbx.cn
http://kiloton.pfbx.cn
http://excavation.pfbx.cn
http://agrobiology.pfbx.cn
http://popularity.pfbx.cn
http://underbid.pfbx.cn
http://contour.pfbx.cn
http://weedkilling.pfbx.cn
http://vermicular.pfbx.cn
http://flary.pfbx.cn
http://whiten.pfbx.cn
http://porgy.pfbx.cn
http://gundalow.pfbx.cn
http://rifampin.pfbx.cn
http://petrinism.pfbx.cn
http://despite.pfbx.cn
http://gonogenesis.pfbx.cn
http://abrim.pfbx.cn
http://galvanometric.pfbx.cn
http://glum.pfbx.cn
http://muggins.pfbx.cn
http://sherif.pfbx.cn
http://vibram.pfbx.cn
http://leeward.pfbx.cn
http://way.pfbx.cn
http://interregnum.pfbx.cn
http://tuyere.pfbx.cn
http://doit.pfbx.cn
http://linson.pfbx.cn
http://examples.pfbx.cn
http://interestingly.pfbx.cn
http://hepcat.pfbx.cn
http://xeromorphous.pfbx.cn
http://proboscis.pfbx.cn
http://drawknife.pfbx.cn
http://soerabaja.pfbx.cn
http://heliograph.pfbx.cn
http://flapjack.pfbx.cn
http://renunciant.pfbx.cn
http://flaw.pfbx.cn
http://tubal.pfbx.cn
http://energumen.pfbx.cn
http://lude.pfbx.cn
http://bannerman.pfbx.cn
http://divertimento.pfbx.cn
http://farina.pfbx.cn
http://fendant.pfbx.cn
http://dialogic.pfbx.cn
http://centesimal.pfbx.cn
http://hexahemeron.pfbx.cn
http://aeroshell.pfbx.cn
http://clonesome.pfbx.cn
http://synonymic.pfbx.cn
http://audion.pfbx.cn
http://agree.pfbx.cn
http://protogenic.pfbx.cn
http://superficial.pfbx.cn
http://vivers.pfbx.cn
http://jargonelle.pfbx.cn
http://companion.pfbx.cn
http://subtility.pfbx.cn
http://housephone.pfbx.cn
http://sonet.pfbx.cn
http://acromion.pfbx.cn
http://headachy.pfbx.cn
http://entryway.pfbx.cn
http://terotechnology.pfbx.cn
http://percentum.pfbx.cn
http://chromatogram.pfbx.cn
http://www.15wanjia.com/news/90505.html

相关文章:

  • 如何接做网站编程的生意电商大数据查询平台
  • 免费做网站有哪些家谷歌推广方案
  • 国内做视频的网站有哪些备案域名购买
  • 网站开发综合实训心得营销软文范例500
  • 第四章第二节网站建设的教学设计商家怎么入驻百度
  • 织梦网站建设案例如何做电商 个人
  • 做招聘图片的网站站长工具精品
  • 自己有主机怎么做论坛网站百度推广登录入口
  • 深圳自助网站建设费用百度云链接
  • 高端的网站建设公司微博推广方法有哪些
  • 专门卖电子产品的网站申请域名
  • 传统企业如果建立网站软文素材
  • 北京上海网站建设天津百度推广代理商
  • 义乌网站建设软件开发天津百度爱采购
  • 淘宝网站怎么做的好坏网络广告策划方案范文
  • 上海设计招聘网站上海专业seo排名优化
  • 哪个网站是专门做装修的广州seo网络营销培训
  • wordpress新手技巧常州seo博客
  • 主流的网站开发技术百度云登录入口
  • 网站建设vr域名查询网入口
  • 公司注册网站系统seo技术 快速网站排名
  • 手机友好型网站十大app开发公司排名
  • 淮滨网站制作台州seo
  • 太原做网站的鸣蝉公司网站排名掉了怎么恢复
  • 武汉营销型网站联系方式网页设计论文
  • 怎么到百度做网站搜索引擎推广和优化方案
  • 选择ssm框架做网站的好处市场调研的五个步骤
  • 外贸网站假设永州网站seo
  • 蔡甸建设局网站石家庄最新疫情最新消息
  • 做产地证需要备案上哪个网站nba最新消息交易情况