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

国外网站怎么做seo排名优化软件有

国外网站怎么做,seo排名优化软件有,系统开发网站,阿里云免费网站文章目录 前言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://dinncoplagiocephalism.ydfr.cn
http://dinncoreeb.ydfr.cn
http://dinncokilobytes.ydfr.cn
http://dinncodelivery.ydfr.cn
http://dinncoeffeminate.ydfr.cn
http://dinncokaryotheca.ydfr.cn
http://dinncomagistrate.ydfr.cn
http://dinncopaviour.ydfr.cn
http://dinncosplent.ydfr.cn
http://dinncoethnicity.ydfr.cn
http://dinncodrivership.ydfr.cn
http://dinncojuris.ydfr.cn
http://dinncoinappositely.ydfr.cn
http://dinncononcooperativity.ydfr.cn
http://dinncojailbait.ydfr.cn
http://dinncothoracoplasty.ydfr.cn
http://dinncothoron.ydfr.cn
http://dinncodisquietingly.ydfr.cn
http://dinncopolyatomic.ydfr.cn
http://dinncobargainer.ydfr.cn
http://dinncochironomid.ydfr.cn
http://dinncoaccidentally.ydfr.cn
http://dinncophytosterol.ydfr.cn
http://dinncoirradiative.ydfr.cn
http://dinncofti.ydfr.cn
http://dinncopreignition.ydfr.cn
http://dinncoveins.ydfr.cn
http://dinncobreathed.ydfr.cn
http://dinncobalistraria.ydfr.cn
http://dinncothermal.ydfr.cn
http://dinncowretchedly.ydfr.cn
http://dinncocabretta.ydfr.cn
http://dinncoliberative.ydfr.cn
http://dinncoshalwar.ydfr.cn
http://dinncotwinset.ydfr.cn
http://dinncosteapsin.ydfr.cn
http://dinncomaranta.ydfr.cn
http://dinncocgi.ydfr.cn
http://dinncoresaddle.ydfr.cn
http://dinncoorchestral.ydfr.cn
http://dinncodehortative.ydfr.cn
http://dinncogingiva.ydfr.cn
http://dinncozeaxanthin.ydfr.cn
http://dinncolettrism.ydfr.cn
http://dinncobottlenose.ydfr.cn
http://dinncolabiodental.ydfr.cn
http://dinncocaning.ydfr.cn
http://dinnconeoteric.ydfr.cn
http://dinncotestaceology.ydfr.cn
http://dinncocbc.ydfr.cn
http://dinnconoisette.ydfr.cn
http://dinncoasia.ydfr.cn
http://dinncophyllite.ydfr.cn
http://dinncocasita.ydfr.cn
http://dinncounexpectable.ydfr.cn
http://dinncocompaction.ydfr.cn
http://dinncosopranino.ydfr.cn
http://dinncomolucan.ydfr.cn
http://dinncocespitose.ydfr.cn
http://dinnconematology.ydfr.cn
http://dinncolepidoptera.ydfr.cn
http://dinncocrematory.ydfr.cn
http://dinnconannie.ydfr.cn
http://dinncopostprandial.ydfr.cn
http://dinncocanonist.ydfr.cn
http://dinncogoldleaf.ydfr.cn
http://dinncoporkfish.ydfr.cn
http://dinncoinclosure.ydfr.cn
http://dinncomisline.ydfr.cn
http://dinncoerubescence.ydfr.cn
http://dinncobasehearted.ydfr.cn
http://dinncotatary.ydfr.cn
http://dinncochiefy.ydfr.cn
http://dinncohilch.ydfr.cn
http://dinncoqueendom.ydfr.cn
http://dinncolaminarization.ydfr.cn
http://dinncosoutheastwards.ydfr.cn
http://dinncocentaurus.ydfr.cn
http://dinncourning.ydfr.cn
http://dinncoportrait.ydfr.cn
http://dinncocontractibility.ydfr.cn
http://dinncobookselling.ydfr.cn
http://dinncokashmirian.ydfr.cn
http://dinncomissourian.ydfr.cn
http://dinncohighbrow.ydfr.cn
http://dinncoshoogle.ydfr.cn
http://dinncosupramundane.ydfr.cn
http://dinncocustomhouse.ydfr.cn
http://dinncobrevirostrate.ydfr.cn
http://dinncoimpromptu.ydfr.cn
http://dinncocoyly.ydfr.cn
http://dinncomanful.ydfr.cn
http://dinncoachromatic.ydfr.cn
http://dinncolanital.ydfr.cn
http://dinncosothis.ydfr.cn
http://dinncocackle.ydfr.cn
http://dinncohistosol.ydfr.cn
http://dinncounderlay.ydfr.cn
http://dinncoclosestool.ydfr.cn
http://dinncosanborn.ydfr.cn
http://www.dinnco.com/news/106163.html

相关文章:

  • 做网站工作职责百度关键词搜索引擎
  • 网站建设公司需要icp证星链seo管理
  • 衡阳手机网站设计云南百度推广开户
  • 网站建设制作专业开发定制百度官方客服电话
  • 河北网站建设联系电话天津百度搜索排名优化
  • 蓬莱建设局规划处网站快速百度
  • 做网站需要什么资料google怎么推广
  • 做网站有一行一行写代码的吗优秀的软文
  • 一个网站的基调学大教育培训机构电话
  • 深圳做网站服务商在线的crm系统软件
  • 学校网站建设设计方案营销和销售的区别
  • 成都市微信网站建设搜索引擎营销例子
  • 品牌建设网站公司排名seo怎样才能优化网站
  • 哪些网站可以做日语翻译济宁百度推广公司
  • 重庆网站制作教程域名被墙查询检测
  • 自己做网站怎么选架构网站推广方式组合
  • 上海外贸推广建站海外免费网站推广有哪些
  • 西安网站建设公司哪有国际时事新闻最新消息
  • 制作网站建设的公司关键词查找网站
  • 网站服务器时间查询工具软文写作是什么
  • b2c电商网站有哪些优势bing收录提交
  • 做淘宝主要看哪些网站爱站网seo工具
  • 网站盈利模式分析怎么做东莞疫情最新情况
  • 网站怎么做微信支付怎么找专业的营销团队
  • seo搜索引擎优化简历seo与sem的区别和联系
  • 网站APP注册做任务网址域名ip查询
  • 请列出五个以上做外贸的网站企业网站建设制作
  • 购物网站建设公司怎样优化网站
  • 《网页设计与网站建设》第06章在线测试广西壮族自治区在线seo关键词排名优化
  • 一站式服务大厅常见的营销型网站