摘要:概述上一章講的是樣式裝載相關(guān)的,這一章見得是腳本加載相關(guān)的環(huán)境配置栗子加載安裝依賴修改配置添加配置文件使用編寫腳本打包并查看結(jié)果可以看到,語(yǔ)法被自動(dòng)轉(zhuǎn)化成了更多配置請(qǐng)查閱關(guān)于章節(jié)栗子加載安裝依賴
0x001 概述
上一章講的是樣式裝載相關(guān)的loader,這一章見得是腳本加載相關(guān)的loader
0x002 環(huán)境配置$ mkdir 0x012-transliling-loader $ cd 0x012-transliling-loader $ npm init -y $ npm install --save-dev webpack $ touch ./src/index.js $ vim webpack.config.js // ./webpack.config.js const path = require("path"); module.exports = { entry : { "index": ["./src/index.js"], }, output: { path : path.join(__dirname, "dist"), filename: "[name].bundle.js" } ;0x003 栗子1-babel-laoder加載es6
安裝依賴
$ cnpm install --save-dev babel-loader babel-core babel-preset-env
修改配置
const path = require("path"); module.exports = { entry : { "index": ["./src/index.js"], }, output: { path : path.join(__dirname, "dist"), filename: "[name].bundle.js" }, module: { rules: [ { test : /.js$/, exclude: /node_modules/, use : { loader: "babel-loader" } } ] } } ;
添加babel配置文件
$ vim ./.babelrc // ./.babelrc { "presets": ["es2015"] }
使用es6編寫腳本
$ vim ./src/index.js // ./src/index.js let sayHello = () => { console.log("hello webpack") } sayHello();
打包并查看結(jié)果
// ./dist/index.bundle.js /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; var sayHello = function sayHello() { console.log("hello webpack"); }; sayHello(); /***/ }) /******/ ]);
可以看到,es6語(yǔ)法被自動(dòng)轉(zhuǎn)化成了es5
更多配置請(qǐng)查閱webpack關(guān)于babel-loader章節(jié)
0x004 栗子2-awesome-typescript-loader 加載typescript
安裝依賴
$ cnpm install --save-dev awesome-typescript-loader
修改配置
const path = require("path"); module.exports = { entry : { "index": ["./src/index.ts"], }, output : { path : path.join(__dirname, "dist"), filename: "[name].bundle.js" }, resolve: { extensions: [".ts", ".tsx", ".js", ".jsx"] }, module : { rules: [ { test : /.tsx?$/, loader: "awesome-typescript-loader" } ] } } ;
添加typescript的配置
$ vim ./tsconfig.json // ./tsconfig.json { "compilerOptions": { "noImplicitAny": true, "removeComments": true }, "awesomeTypescriptLoaderOptions": { /* ... */ } }
編寫index.ts
class Greeter { greeting: string; constructor(message: string) { this.greeting = message; } greet() { return "Hello, " + this.greeting; } } let greeter = new Greeter("world");
編譯并查看結(jié)果
/* 1 */ /***/ (function(module, exports) { var Greeter = (function () { function Greeter(message) { this.greeting = message; } Greeter.prototype.greet = function () { return "Hello, " + this.greeting; }; return Greeter; }()); var greeter = new Greeter("world"); /***/ }) /******/ ]);
可以看出,typescript被自動(dòng)轉(zhuǎn)化成了js
其他更多配置,請(qǐng)查閱awesome-typescript-loader相關(guān)說(shuō)明
0x005 資源源代碼
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/89644.html
摘要:同時(shí)不能直接單純的指定輸出的文件名稱,比如,將會(huì)報(bào)錯(cuò),可以換成以下方式指定,或者其他類似方式。如果打包過程出現(xiàn)錯(cuò)誤,比如語(yǔ)法錯(cuò)誤,將會(huì)在控制臺(tái)以紅色文字顯示,并且在你修復(fù)之后會(huì)再次打包。 0x001 概述 其實(shí)我不知道怎么寫,所以決定就一塊一塊的寫點(diǎn)平常配置的過程,根據(jù)不同東西稍微分區(qū)一下就好了 0x002 初始化項(xiàng)目結(jié)構(gòu) $ mkdir webpack_study $ cd webp...
0x001 概述 上一章講的是裝載模板,這一章講的是裝載樣式 0x002 配置環(huán)境 $ mkdir 0x011-styling-loader $ cd 0x011-styling-loader $ npm init -y $ npm install --save-dev webpack $ touch ./src/index.js $ vim webpack.config.js // ./web...
摘要:概述上一章講的時(shí)候關(guān)于文件相關(guān)的,這一章講的是模板相關(guān)的。環(huán)境配置栗子加載安裝依賴包編寫并引入配置低于否則使用打包并查看結(jié)果可以看到,被打包成了字符串,并封裝成模塊導(dǎo)出。更多資源,請(qǐng)查閱的倉(cāng)庫(kù)和官網(wǎng)資源源代碼 0x001 概述 上一章講的時(shí)候關(guān)于文件相關(guān)的loder,這一章講的是模板相關(guān)的loder。 0x002 環(huán)境配置 $ mkdir 0x010-templating-loader...
摘要:概述上一章講的是腳本裝載相關(guān)的,這一章見得是腳本格式校驗(yàn)相關(guān)的環(huán)境配置使用校驗(yàn)格式這份配置是偷的安裝依賴包修改配置文件添加配置文件編寫測(cè)試代碼張三打包輸出張三 0x001 概述 上一章講的是腳本裝載相關(guān)的loader,這一章見得是腳本格式校驗(yàn)相關(guān)的loader 0x002 環(huán)境配置 $ mkdir 0x013-linting-loader $ cd 0x013-linting-load...
摘要:修改配置文件匹配的文件名,這里匹配后綴為的,只要了該文件名結(jié)尾的文件,都將使用這個(gè)來(lái)處理命中后使用的加載器查看結(jié)果,和之前一致,推薦使用配置文件形式,可以保持引入文件格式的一致性。有利于維護(hù)和美觀更多配置,可以查閱關(guān)于部分。 0x001 概述 上一章講的是DLL加速編譯,這一章開始講loader相關(guān)的部分,但是關(guān)于plugin的部分善未完結(jié),因?yàn)榧磳⒁v的ExtractTextWebp...
閱讀 1373·2021-09-10 10:51
閱讀 2838·2019-08-30 15:54
閱讀 3377·2019-08-29 17:11
閱讀 936·2019-08-29 16:44
閱讀 1400·2019-08-29 13:47
閱讀 1095·2019-08-29 13:47
閱讀 1497·2019-08-29 12:23
閱讀 1052·2019-08-28 18:18