當前位置:首頁 » 編程軟體 » tsc編譯js

tsc編譯js

發布時間: 2022-04-23 06:14:19

Ⅰ Egret引擎採用TypeScript作為開發語言,調試時是調試TypeScript還是javaScript呢

在默認情況下是 JavaScript 。

Ⅱ 為什麼ReactJS在中國一點沒有起色

1.安裝node,因為ts的編譯器是js/ts寫的;安裝node後同時獲得npm命令,這是nodejs世界裡的包管理器(也可以看作node的app商店);2.安裝vs2015或者vscode,當然這不是必須的,但是這里強烈推薦寫ts的工具,vs第一,vsc第二;3.vs自帶了TypeScript(vs2012+,vs2015update1自帶了ts1.7),最新版本的typescriptforvs去官網下載即可,或者如果不依賴vs(比如mac環境),可以用命令行裝ts編譯器npmi-gtypescript@next4.安裝了ts後,就會有2個命令可用:tsc和tsd,tsc用來編譯TypeScript代碼,tsd用來下載第三方js類庫的ts定義文件(或者叫頭文件),熟練使用tsd,工作效率提升,因為減少了80%查文檔的時間,所以寫ts可以說是jser打通了任督二脈,上手任何新的開發環境都很快;5.命令行下載react的ts頭文件,tsdinstallreact-global--save注意上面之所以寫react-global而不是react,因為我們接下來使用比較原始的寫法,直接把React當作全局對象使用,而不作為es6模塊(必須用import引入),不需要Babel編譯也不需要webpack打包;上面執行的tsd命令下載了ReactJS類庫的頭文件,下面用tsc命令創建一個ts項目配置文件tsc--init命令創建了tsconfig.json配置文件,打開該文件增加"jsx":"react",就是自動把tsx變成最終的js,而不是jsx把"outDir":"built",這行去掉,這樣編譯的文件就會在當前目錄輸出"target":"es5",這里es3改成es5,"watch":true是否監聽文件修改如果你用的是vs,這行不重要6.下載reactjs文件,如果沒有安裝bower命令,可以手動去官網下載react類庫bowerinstall--savereact7.以上環境配置好了,開始寫代碼:創建一個demo.tsx文件(注意這里是tsx,不是ts也不是jsx)創建一個demo.html,添加文件的引用8.demo.tsx寫代碼classMyClassextendsReact.Component{render(){returnhello{this.props.name};}}document.addEventListener('DOMContentLoaded',function(){ReactDOM.render(,document.body);});9.如果保存了demo.tsx後,沒有在目錄下發現自動編譯了demo.js,那麼可能是vs沒配置好,如果你沒有裝vs或者vsc,沒關系,在當前文件夾下命令行運行tsctsc命令會自動根據tsconfig.json裡面配置的情況,自動幫你把代碼編譯成js,這是編譯後的js文件10.打開demo.html可以看到效果了;11.至於題主說怎麼學習,其實跟JS完全沒兩樣,上面demo.tsx的代碼,跟react官網的es6寫法一模一樣多了這兩個prop和states類型約束,僅此而已;11.至於題主說怎麼學習,其實跟JS完全沒兩樣,上面demo.tsx的代碼,跟react官網的es6寫法一模一樣多了這兩個prop和states類型約束,僅此而已;12.下班,有空再寫;------時間分割------13、繼續寫,對1-12進行潤色,轉入傳教模式;以上的代碼,工廠方法在創建子類的同時,做了一些初始化的動作,這與單純的原型繼承不同,所以在使用class方式進行子類繼承,這樣的寫法是無效的;classMyViewextendsReact.Component{render(){returnhello{this.state.name};//會拋異常,因為state是null}//不起作用的getInitialState:(){return{name:'',age:20};}}需要改成如下方式,下面是官網給出的方案(這里TypeScript和ES6情況是一樣的)classMyViewextendsReact.Component{constructor(props,context){super(props,context);this.state={name:'',};}render(){returnhello{this.state.name};}}16、當組件化遇到強類型:從前寫JS組件,一般復用性比較差,基本寫完就仍,原因如下:1)暴露了太多的Dom結構以及別的實現細節;2)命名挫,缺乏可記憶性,本身編程中變數和方法的命名對於碼農來說就是天坑;3)JS天生缺乏私有和公共成員的約束,不加註釋根本不知道怎麼使用該類庫/組件;React解決了把dom標簽暴露出去的問題,TS則解決了語言層面的問題,並提供了強大的重構能力,你根本不需要記住組件的API,因為工具會列出來;

Ⅲ Cannot open source file: C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\tsc.js 求助怎麼解決

原因是你之前裝了Visual Studio 2015之類的開發工具,導致已經安裝了一個低版本的tsc文件(1.0版本),而現在你又安裝了Node.js 、Visual Studio Code ,而版本至少在1.8以上。

事實上你可以觀察到兩個版本,運行cmd 輸入 where tsc。

解決辦法:

方法一(簡單粗暴)、計算機->屬性->高級環境設置->環境變數

在【adminstrator 的用戶變數】或者【系統變數】的Path中找到C:Program Files (x86)Microsoft SDKsTypeScript1.0;將之刪除

方法二(保險)、和方法一類似,在【adminstrator 的用戶變數】或者【系統變數】的Path中找到 C: pm; 將C:Program Files (x86)Microsoft SDKsTypeScript1.0;放在C: pm; 之後

Ⅳ 怎麼用typescript做網頁

TypeScript項目和tsconfig.json
首先安裝TypeScript編譯器
npm i -g typescript

進入項目目錄,新建一個 hello.ts
function sayHello(name: string) {
return 'Hello, ' + name;
}

let myName = 'Cheng Wang';

console.log(sayHello(myName));

然後執行
tsc hello.ts

編譯器會生成 hello.js
function sayHello(name) {
return 'Hello, ' + name;
}
var myName = 'Cheng Wang';
console.log(sayHello(myName));

為了方便編譯器和編輯器識別TypeScript項目,TypeScript約定了tsconfig.json文件來存儲項目配置,如果運行 tsc 時不指定輸入文件,編譯器則會查找項目目錄中的這個文件,如果找不到則會依次向父級目錄查找。比如這樣:
{
"compilerOptions": {
"outFile": "dist/app.js",
"sourceMap": true
},
"files": [
"src/app.ts"
]
}

直接運行 tsc ,會自動把 src/app.ts 編譯到 dist/app.js 。
關於這個配置文件的更多選項,可以看 官方文檔 。
使用模塊
TypeScript中,模塊的使用方法與ES6一致。
src/moles/utilities.ts :
function getUrlParam(key: string) {

const REG_PATTERN = new RegExp('(^|&)' + key + '=([^&]*)(&|$)', 'i');
let result: string[] = location.search.substr(1).match(REG_PATTERN);

if (result !== null) {
return decodeURIComponent(result[2]);
} else {
return null;
}

}

export { getUrlParam }

src/app.ts :
import { getUrlParam } from './moles/utilities';

let deviceType: string = getUrlParam('deviceType');

console.log(deviceType);

編譯後的app.js(TypeScript編譯器在輸出單個文件時,只能使用AMD或System模塊規范):
define("moles/utilities", ["require", "exports"], function (require, exports) {
"use strict";
function getUrlParam(key) {
var REG_PATTERN = new RegExp('(^|&)' + key + '=([^&]*)(&|$)', 'i');
var result = location.search.substr(1).match(REG_PATTERN);
if (result !== null) {
return decodeURIComponent(result[2]);
}
else {
return null;
}
}
exports.getUrlParam = getUrlParam;
});
define("app", ["require", "exports", "moles/utilities"], function (require, exports, utilities_1) {
"use strict";
var deviceType = utilities_1.getUrlParam('deviceType');
console.log(deviceType);
});

使用NPM庫
我們開發JS程序的時候,要用到NPM上的第三方的庫,比如jQuery、Lodash等,但是絕大多數庫都是用JS寫的,沒有類型提示,我們也不能在在代碼中將這些庫作為模塊引入。
比如我們需要在項目中使用Lodash:
npm i --save lodash

然後在代碼中引入:
import * as _ from 'lodash';

console.log(_.camelCase('helloworld'))

運行 tsc 則報錯:
src/app.ts(1,20): error TS2307: Cannot find mole 'lodash'.

如果想在TypeScript代碼中直接使用npm上的JS庫,需要藉助Typings這個工具。
Typings也是一個包管理器,它管理的是JS代碼「定義文件」,用Typings安裝相應的定義文件後,編輯器和編譯器就可以去node_moles目錄中找到相應的JS庫,並編譯到最終的JS代碼中。
先安裝Typings工具:
npm i -g typings

然後安裝Lodash的定義文件:
typings install --save lodash

Typings會去NPM、Bower上尋找庫的作者加的定義文件,但是有的庫如jQuery並沒有官方的定義文件,則需要從社區維護的 DefinitelyTyped 目錄下安裝:
typings install --save --ambient jquery

然後再tsconfig.json中的files配置中加入一條:

"files": [
"src/app.ts",
"typings/main.d.ts"
]

此時編譯就不會提示找不到模塊了。
安裝好定義文件之後,如果使用Visual Studio Code等對TypeScript支持較好的編輯器,則會提供更加強大的代碼提示功能。
使用Webpack構建
TypeScript編譯器支持很多模塊組織規范,如ES6、commonJS、AMD等,但是如果想要將多個ts文件打包成一個文件,TypeScript只支持AMD和System,對於瀏覽器應用來說,還需要引入第三方的模塊載入器。如果使用Webpack配合TypeScript的loader,則可以方便地構建瀏覽器可以運行的JS代碼。
首先安裝Webpack和ts-loader:
npm i webpack -g

npm i ts-loader --save-dev

然後配置項目目錄中的webpack.config.js:
mole.exports = {

entry: './src/app.ts',

output: {
filename: 'app.js',
path: './dist'
},

resolve: {
extensions: ['', '.webpack.js', '.web.js', '.ts', '.js']
},

mole: {
loaders: [
{ test: //.ts$/, loader: 'ts-loader' }
]
}

}

然後就可以通過運行 webpack 來構建了,構建生成的代碼自帶了webpack的模塊載入器,可以直接在瀏覽器中運行。

Ⅳ 如何啟動typescript編輯器

Typescript是JavaScript的超集,支持ES6特性並且提供了類型系統,可以編譯成Javascript。是微軟開發且已經在github上開源。
ES6(ES2015,ES2016等)雖然已發布,但是很多瀏覽器廠商對其並不是完全支持,當前我們要想使用最新的ES6特性,必須使用轉換工具(如babel),才能最終運行在瀏覽器上。而TypeScript對ES6新特性的支持使得我們可以直接使用開發,並且不用依賴第三方工具(不是絕對的),再加上靜態類型檢查等,使得我們可以像寫java一樣爽。
環境搭建
有兩種主要的方式獲取TypeScript工具。通過npm(Node.js包管理器)和安裝TypeScript的Visual Studio插件。作為前端開發人員在這里使用npm這種簡單高效方式安裝。
1 npm安裝
npm install -g typescript
2 是否安裝成功,在命令行中輸入以下命令,如果出現版本號表示安裝成功
tsc -v

入門示例
創建文件Person.ts,並輸入如下內容
class Person {
name:string;
age:number;
constructor(name:string, age:number) {
this.name = name;
this.age = age;
}

msg() {
return `${this.name} is ${this.age} years old`;
}
}

let user = new Person('Jack', 20);
document.body.innerHTML = user.msg();
編譯後會在同目錄下生成Person.js文件,編譯命令如下:
tsc Person.ts
編譯後的文件Person.js內容如下,其實就是javascript源碼
var Person = (function () {
function Person(name, age) {
this.name = name;
this.age = age;
}
Person.prototype.msg = function () {
return this.name + " is " + this.age + " years old";
};
return Person;
}());
var user = new Person('Jack', 20);
document.body.innerHTML = user.msg();
新建hello.html文件,輸入以下內容:
<!DOCTYPE html>
<html>
<head><title>TypeScript Hello World</title></head>
<body>
<script src="Person.js"></script>
</body>
</html>
用瀏覽器打開hello.html即可看到效果

工欲善其事必先利其器--VS Code
VS Code也是微軟開發的編輯器,其本身也是使用TypeScript開發的,代碼已在github上開源,基於Electron框架開發,相對於Atom速度快,體驗較好,是TypeScript IDE的首選。
其源碼編輯器monaco-editor聯想功能比較強大,已經單獨開源。微信小程序開發工具的中源碼編輯器就是使用了monaco-editor。另外其插件系統使得我們可以豐富其功能。
關於VS CODE更多信息請查看官網文檔。

Ⅵ typescript 怎麼混淆加密,編譯輸出js文件

選擇
configure
task
runner
自動創建
task.json
。該配置文件在工作空間的.vscode目錄下,這個目錄也是存放vscode配置的文件夾。
vscode默認的task配置文件中給出了執行tsc

gulp模板配置。簡單介紹一下
task.json
的寫法
{"version":
"0.1.0",//
要使用的命令或者可執行文件的路徑"command":
"tsc",//
對應command參數,是否是一個命令,否則為執行文件路徑"isshellcommand":
true,//
是否在執行task任務時顯示控制台窗口"showoutput":
"always",//
對應command參數指定程序的參數"args":
["-p",
"src",
"--allowjs",
"-w"],//
不太明白這個,基本用不到"problemmatcher":
"$tsc",}

Ⅶ vscode怎麼運行javascript

1、直接按F5可以調試的方法或者點擊運行按鈕(可以直接運行html文件或者js文件)

在launch.json文件中的配置如下:

{

"version": "0.2.0",

"configurations": [{

"name": "谷歌瀏覽器", //運行html文件,用谷歌瀏覽器打開

"type": "chrome",

"request": "launch",

"url": "${file}",

"sourceMaps": true,

"webRoot": "${workspaceRoot}"

},

{

"name": "nodeLauch", //單獨調試js,即可以直接運行js

"type": "node",

"request": "launch",

"program": "${file}", //這個配置成你要調試的文件、${file}當前打開的文件

"stopOnEntry": false,

"args": [],

"cwd": "${workspaceRoot}",

"runtimeExecutable": null,

"runtimeArgs": [

"--nolazy"

],

"env": {

"NODE_ENV": "development"

},

"console": "internalConsole",

"preLaunchTask": "",

"sourceMaps": false,

"outDir": null

}

]

}

2、第二種方法Ctrl+Shift+B快捷鍵運行html文件,在Tasks.json中配置如下:

{

"version": "0.1.0",

"command": "",

"isShellCommand": false,

"args": ["${file}"],

"showOutput": "always",

"windows": {

"command": "C:/Users/shannonliang/AppData/Local/Google/Chrome/Application/chrome.exe"

},

"tasks": [{

"taskName": "webserver",

"isBuildCommand": true,

"showOutput": "always"

}]

}

3、如果第二種方法,不想每次都按這個快捷鍵,請參考npm配置node服務方法:

http://stackoverflow.com/questions/30039512/how-to-view-my-html-code-in-browser-with-visual-studio-code

Ⅷ 如何學慣用Typescript寫Reactjs

1.安裝node,因為ts的編譯器是js/ts寫的;
安裝node後同時獲得npm命令,這是nodejs世界裡的包管理器(也可以看作node的app商店);
2.安裝vs 2015或者vs code,當然這不是必須的,但是這里強烈推薦寫ts的工具,vs第一,vsc第二;
3.vs自帶了TypeScript(vs2012+,vs2015update1自帶了ts1.7),最新版本的typescript for vs去官網下載即可, 或者如果不依賴vs(比如mac環境), 可以用命令行裝ts編譯器

npm i -g typescript@next

4. 安裝了ts後, 就會有2個命令可用:tsc和tsd, tsc用來編譯TypeScript代碼, tsd用來下載第三方js類庫的ts定義文件(或者叫頭文件),熟練使用tsd,工作效率提升,因為減少了80%查文檔的時間,所以寫ts可以說是jser打通了任督二脈,上手任何新的開發環境都很快;

5. 命令行下載react的ts頭文件,

tsd install react-global --save

注意上面之所以寫 react-global 而不是react, 因為我們接下來使用比較原始的寫法,直接把React當作全局對象使用, 而不作為es6模塊(必須用import引入),不需要Babel編譯也不需要webpack打包;
上面執行的tsd命令下載了ReactJS類庫的頭文件, 下面用tsc命令創建一個ts項目配置文件

tsc --init

命令創建了tsconfig.json配置文件, 打開該文件
增加"jsx": "react", 就是自動把tsx變成最終的js, 而不是jsx
把"outDir": "built", 這行去掉,這樣編譯的文件就會在當前目錄輸出
"target": "es5", 這里es3改成es5,
"watch": true 是否監聽文件修改 如果你用的是vs,這行不重要

6.下載reactjs文件,如果沒有安裝bower命令,可以手動去官網下載react類庫

bower install --save react

7.以上環境配置好了, 開始寫代碼:
創建一個demo.tsx文件(注意這里是tsx, 不是ts也不是jsx)
創建一個demo.html, 添加文件的引用

<!doctype html>
<html>
<head>
<script src="bower_components/react/react.min.js"></script>
<script src="bower_components/react/react-dom.min.js"></script>
<script src="demo.js"></script>
</head>
<body>

</body>
</html>

8. demo.tsx 寫代碼

class MyClass extends React.Component<any, any> {
render() {
return <h1>hello {this.props.name}</h1>;
}
}

document.addEventListener('DOMContentLoaded', function () {
ReactDOM.render(<MyClass name="Tom" />, document.body);
});

9. 如果保存了demo.tsx後, 沒有在目錄下發現自動編譯了demo.js, 那麼可能是vs沒配置好,如果你沒有裝vs或者vsc,沒關系,在當前文件夾下命令行運行

tsc

tsc命令會自動根據tsconfig.json裡面配置的情況, 自動幫你把代碼編譯成js, 這是編譯後的js文件

10. 打開demo.html可以看到效果了;
11. 至於題主說怎麼學習, 其實跟JS完全沒兩樣, 上面demo.tsx的代碼, 跟react官網的es6寫法一模一樣多了<any,any> 這兩個prop和states類型約束, 僅此而已;11. 至於題主說怎麼學習, 其實跟JS完全沒兩樣, 上面demo.tsx的代碼, 跟react官網的es6寫法一模一樣多了<any,any> 這兩個prop和states類型約束, 僅此而已;
12. 下班, 有空再寫;
------時間分割------
13、繼續寫,對1-12進行潤色,轉入傳教模式;
以上的代碼,工廠方法在創建子類的同時,做了一些初始化的動作,這與單純的原型繼承不同,所以在使用class方式進行子類繼承,這樣的寫法是無效的;

class MyView extends React.Component {
render() {
return <h1>hello {this.state.name}</h1>; //會拋異常,因為state是null
}
//不起作用的
getInitialState:(){
return {name:'',age:20};
}
}

需要改成如下方式,下面是官網給出的方案(這里TypeScript和ES6情況是一樣的)

class MyView extends React.Component {
constructor(props, context) {
super(props, context);

this.state = {
name: '',
};
}
render() {
return <h1>hello {this.state.name}</h1>;
}
}

16、當組件化遇到強類型:
從前寫JS組件,一般復用性比較差,基本寫完就仍,原因如下:
1)暴露了太多的Dom結構以及別的實現細節;
2)命名挫,缺乏可記憶性,本身編程中變數和方法的命名對於碼農來說就是天坑;
3)JS天生缺乏私有和公共成員的約束,不加註釋根本不知道怎麼使用該類庫/組件;
React解決了把dom標簽暴露出去的問題,TS則解決了語言層面的問題,並提供了強大的重構能力,你根本不需要記住組件的API,因為工具會列出來;

Ⅸ 怎麼在本地運行經過tsc編譯過後的js文件

你可以放到HTML文件里用瀏覽器打開,或者用node運行都可以。

Ⅹ 如何用TypeScript開發微信小程序

方法步驟如下:

1、工具需求

(1)TypeScript

2、利用TypeScript開發微信小程序需要4個核心文件如下

(1)App:代碼整個應用程序的抽象對象,可以設置全局的方法和變數

(2)Page: 頁面抽象對象,承載頁面業務邏輯

(3)WXML: 頁面的結構,相當於html

(4)JSON: 配置文件

(5)WXSS: 頁面的樣式,相當於css

3、然後由於目前騰訊沒有小程序的TypeScript版本的API,所以OneCode team針對目前騰訊放出的所有的小程序JavaScript API開發了一個TypeScript版本的API類型定義文件wxAPI.d.ts,如圖。

(1)最後只需要在程序中引用該文件,如果是使用Visual Studio來開發的話,就能有代碼提示了

熱點內容
更新r星伺服器電腦壞了 發布:2025-04-04 04:59:08 瀏覽:689
伺服器搭建需要多久 發布:2025-04-04 04:51:35 瀏覽:673
雲電腦伺服器異常 發布:2025-04-04 04:50:01 瀏覽:810
源碼交易程序 發布:2025-04-04 04:40:35 瀏覽:238
安卓信息存儲 發布:2025-04-04 04:39:13 瀏覽:114
安卓app的音樂放在哪個文件夾 發布:2025-04-04 04:28:49 瀏覽:808
phpcookie清除 發布:2025-04-04 04:27:54 瀏覽:875
壓縮棒 發布:2025-04-04 04:25:56 瀏覽:17
c語言哪本書比較好 發布:2025-04-04 04:25:10 瀏覽:817
android日誌目錄 發布:2025-04-04 04:18:05 瀏覽:317