《HTML5遊戲開發》系列文章的目的有:1、以最小的成本去入門egret小項目開發,官方的教程一直都是面向中重型;2、egret能夠很是輕量;3、egret相比PIXI.js和spritejs文檔更成熟、友好;4、學習從0打造高效的開發工做流。html
本節咱們將會:node
項目示例源碼: github.com/wildfirecod…webpack
在線演示地址:wildfirecode.com/egret-webpa…git
在根目錄建立src
文件夾來存放用戶代碼以及defs
文件夾來存放TypeScript聲明文件。es6
mkdir src && mkdir defs
複製代碼
以後把main.ts
文件移入src
,把defs.d.ts
移入defs
。github
因爲咱們修改了項目結構,咱們須要更改TypeScript配置。在tsconfig.json
中添加與compilerOptions
同級的屬性include
。咱們的配置文件內容將會變成這樣:web
{
"compilerOptions": {
"module": "es6",
"target": "es5"
},
"include": [
"src",
"defs"
]
}
複製代碼
如今除了src
&defs
,其餘的代碼都不會被編譯器編譯進去。typescript
讓咱們來使用webpack來構建TypeScript項目。 咱們先安裝webpack
以及TypeScript
相關依賴。npm
npm install --save-dev webpack webpack-cli webpack-dev-server typescript ts-loader
複製代碼
接着,添加webpack
配置文件webpack.config.js
。json
const path = require('path');
module.exports = {
entry: './src/main.ts',
devtool: 'eval',
devServer: {
contentBase: '.'
},
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/
}
]
},
resolve: {
extensions: ['.tsx', '.ts', '.js']
},
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, '.')
}
};
複製代碼
其中特別須要說明的是,咱們增長了sourcemap支持,以便進行代碼debug。
而後,讓咱們把index.html
的用戶代碼入口文件main.js
修改一下:
<script src="bundle.js"></script>
複製代碼
在package.json中添加script腳本start
:
{
"scripts": {
"start": "webpack-dev-server --open"
}
}
複製代碼
如今,咱們能夠在命令行中運行 :
npm start
複製代碼
以後就會看到瀏覽器自動加載頁面。若是如今修改和保存任意源文件,web服務器就會自動從新加載編譯後的代碼。試一下,運行結果和以前同樣!