npm install -g typescript.node -v
tsc -v
tsc script.tstsc script.ts --out output-script.jstsc script.ts -wtsc --init
rootDir et outDir.exclude permet d’exclure des fichiers de la compilation.include permet de cibler les fichiers qui doivent être compilés.lib par défaut comprend “dom”, “es6”, “DOM.Iterable” et “ScriptHost”.allowJs compile les fichiers Javascript.checkJs afficher les erreurs des fichiers Javascript.npm init
npm install lite-server --save
Dans package.json :
"scripts": {
"start": "lite-server"
}
Pour lancer le serveur il suffit maintenant de faire : npm start.
npm install webpack webpack-cli typescript ts-loader --save-dev
Dans webpack.config.js :
var path = require("path");
module.exports = {
entry: "./src/index.ts",
output: {
filename: "bundle.js",
path: path.resolve(__dirname, "public")
},
devtool: "inline-source-map",
module: {
rules: [
{
test: /.ts$/,
use: "ts-loarder",
exclude: /node_modules/,
},
],
},
resolve: {
extensions: [".ts", ".js"]
}
};
Note : pour source map il est nécessaire de l’activer dans tsconfig.json.
Lancer webpack :
./node_modules/.bin/webpack --mode development
Ou dans package.json :
"scripts": {
"build": "webpack --config webpack.config.js --mode development"
}
Puis : npm run build
npm install webpack-dev-server --save-dev
Dans package.json :
"scripts": {
"build": "webpack serve --mode development --open"
}
Dans webpack.config.js :
var path = require("path");
module.exports = {
mode: "development",
entry: "./src/index.ts",
output: {
filename: "bundle.js",
path: path.resolve(__dirname, "public")
},
devServer: {
contentBase: path.resolve(__dirname, "public"),
compress: true,
port: 8080
},
devtool: "inline-source-map",
module: {
rules: [
{
test: /.ts$/,
use: "ts-loarder",
exclude: /node_modules/,
},
],
},
resolve: {
extensions: [".ts", ".js"]
}
};
Installer clean-webpack-plugin : npm install --save-dev clean-webpack-plugin
Dupliquer le fichier webpack.config.js et le nommer par exemple : webpack.config.prod.js.
Dans webpack.config.prod.js :
var path = require("path");
var cleanPlugin = require("clean-webpack-plugin");
module.exports = {
mode: "production",
entry: "./src/index.ts",
output: {
filename: "bundle.js",
path: path.resolve(__dirname, "public")
},
devtool: false,
module: {
rules: [
{
test: /.ts$/,
use: "ts-loarder",
exclude: /node_modules/,
},
],
},
resolve: {
extensions: [".ts", ".js"]
},
plugins: [new cleanPlugin.CleanWebpackPlugin{
dry: true,
verbose: true,
cleanOnceBeforeBuildPatterns: ['**/*', '!static-files*'],
})],
};
Dans package.json :
"scripts": {
"build": "webpack --config webpack.config.prod.js --mode production"
}