BabylonJS TS开发环境配置

2019年4月19日补充:

npm淘宝镜像

npm的官方镜像服务器在国内使用非常的慢,新的模版工程自动化生成工具中已经修改为了国内的淘宝镜像,该工具的git仓库地址在下面正文中。
命令行中输入以下命令修改淘宝镜像

npm install -g cnpm --registry=https://registry.npm.taobao.org

然后就可以使用cnpm命令来安装模块了:

cnpm install [name]

调试代码

  • vs code插件

    1. Live Server
    2. Debugger for Chrome
  • 调试方法
    1. 启动Live Server,安装好后可以在vs code窗口下方看到下图中的Go Live样式,点击即可启动Live Server。


    2. 打开工程文件监视,打开webpack.config.js,将watch属性改为true,开启对工程文件对监视,这可以监控工程文件的变化,并自动进行编译。


    3. 编译工程,打开watch后编译工程可以看到webpack is watching the files...的输出,表示该工程文件已经被监视,并且会发现此次编译不会终止,当代码发生变化并保存后会立刻重新编译。


    4. 启用调试,第一次启动调试时会在工程文件中生成一个.vscode文件夹,该文件夹中会有一个launch.json的文件,前提是安装了debugger for Chrome插件。将该json中的url修改为Live Server的地址即可开始进行断点调试。


使用chrome进行移动端调试

详细说明可查看此网站

  1. 手机安装Chrome浏览器。
  2. 使用数据线连接到电脑上,并打开调试。
  3. 在电脑端的 Chrome 里,在地址栏输入 chrome://inspect
  4. 开始调试,点击你希望调试的浏览器选项卡下面的 inspect。


    Chrome手机端调试

2019年2月28日补充:
第二步中使用Node.js在安装依赖项时需要科学上网。(使用淘宝镜像后不需要)


正文

最近接触了Web3D引擎BabylonJS,引擎虽好但每次搭建TS的开发环境都十分繁琐,思来想去还是用批处理写个自动化的生产工具吧,一了百了。批处理以前没怎么用过,写的也是痛苦无比,而且不够灵活,虽然有大神告诉我可以写个简单的EXE来弄,但不会啊,这个留待后续研究吧,本着先实现在完善的想法,暂且先用批处理的凑活用吧。同时也把配置的步骤记录下。

环境要求:

平台:Windows,visual studio code(开发时用)
工具:Node.js 安装说明看这里

批处理工具:

这是一个自动化搭建TS开发工程的小工具,把该批处理工具放到一个空文件夹双击运行就可以了,环境搭建好后会运行一个示例工程,这就证明走通了,可以开发了。
批处理工具git地址

屠龙宝刀点击就送v0.1的效果图

配置步骤:

1.用vs code 打开一个空的文件夹在vs code终端中输入下面的命令生成package.json文件。

npm init -y 

2.同样在vs code的终端中输入以下命令使用Node.js安装依赖项:typescript,webpack,ts-loader,webpack-cli

npm install --save-dev typescript webpack ts-loader webpack-cli

3.新建webpack.config.js文件并填写以下配置项index.ts是开发脚本,index.js是index.ts编译出来的js代码

const path = require("path");
module.exports = {
    entry: './index.ts',
    output: {
        filename: 'index.js',
        path: path.resolve(__dirname, 'dist')
    },
    resolve: {
        extensions: [".ts"]
    },
    module: {
        rules: [
            { test: /\.tsx?$/, loader: "ts-loader" }
        ]
    },
    mode: "development"
};

4.新建tsconfig.json文件

{
  "compilerOptions": {
      "target": "es5",
      "module": "commonjs",
      "noResolve": false,
      "noImplicitAny": false,
      "removeComments": true,
      "preserveConstEnums": true,
      "sourceMap": true,
      "experimentalDecorators": true,
      "isolatedModules": false,
      "lib": [
          "dom",
          "es2015.promise",
          "es5"
      ],
      "declaration": true,
      "outDir": "./dist"
  }
}

5.安装babylon.js

npm install --save babylonjs

6.新建html文件,命名index.html,它是网页的入口会调起编译出来的index.js脚本

<!DOCTYPE html>
<html>

    <head>
        <style>
            html,
            body {
                overflow: hidden;
                width: 100%;
                height: 100%;
                margin: 0;
                padding: 0;
                text-align: center;
            }

            #renderCanvas {
                width: 100%;
                height: 100%;
                touch-action: none;
            }
        </style>
    </head>

    <body>
        <canvas id="renderCanvas"></canvas>
        <script src="dist/index.js"></script>
    </body>

</html>

7.在根目录创建index.ts用来保存编写的ts代码
8.index.ts中导入BABYLON命名空间,以及可能会用到的变量

import * as BABYLON from 'babylonjs';
import { Engine, Scene, ArcRotateCamera, HemisphericLight, Vector3, MeshBuilder, Mesh } from "babylonjs";

9.在package.json的Script属性中添加build运行webpack,捆绑babylonjs文件,最终打包出来的js文件中将包含babylonjs引擎文件。

"scripts": {
        "build": "webpack"
},

10.点击菜单栏终端->运行任务->npm:build 或者在终端中输入npm run build构建js工程。

npm run build
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342