IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> typescript贪吃蛇的webpack配置 及页面 -> 正文阅读

[JavaScript知识库]typescript贪吃蛇的webpack配置 及页面

在这里插入图片描述
需要的插件

npm i -D webpack webpack-cli webpack-dev-server typescript ts-loader clean-webpack-plugin html-webpack-plugin
npm i -D @babel/core @babel/preset-env babel-loader core-js
npm i -D less less-loader css-loader style-loader

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>贪食蛇</title>
</head>
<body>
    <div class="Interface">
      <div class="move">
          <!-- 设置蛇 -->
        <div id="snake">
            <div>

            </div>
        </div>
        <!-- 设置食物 -->
        <div id="food">
            <div></div>
            <div></div>
            <div></div>
            <div></div>
        </div>
      </div>
      <br>
      <div class="message">
        <div id="SCORE">
            SCORE:0
        </div>
        <div id="level">
            Level:1
        </div>
      </div>
    </div>
</body>
</html>
<script src="./index.js"></script>

webpack.config.js

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const { CleanWebpackPlugin } = require("clean-webpack-plugin");

module.exports = {
    optimization: {
        minimize: false // 关闭代码压缩,可选
    },
    mode: 'development',
    entry: "./src/index.ts",

    devtool: "inline-source-map",

    devServer: {
        static: {
            directory: path.join(__dirname, './dist'),
          },
    },

    output: {
        path: path.resolve(__dirname, "dist"),
        filename: "bundle.js",
        environment: {
            arrowFunction: false // 关闭webpack的箭头函数,可选
        }
    },

    resolve: {
        extensions: [".ts", ".js"]
    },

    module: {
        rules: [
            {
                test: /\.ts$/,
                use: [
                    {
                        loader: "babel-loader",
                        options: {
                            presets: [
                                [
                                    "@babel/preset-env",
                                    {
                                        "targets": {
                                            "chrome": "58",
                                            "ie": "11"
                                        },
                                        "corejs": "3",
                                        "useBuiltIns": "usage"
                                    }
                                ]
                            ]
                        }
                    },
                    {
                        loader: "ts-loader",

                    }
                ],
                exclude: /node_modules/
            },
            {
                //设置less文件的处理
                test:/\.less$/,
                use:[
                    "style-loader",
                    "css-loader",
                    {
                        loader:"postcss-loader",
                        options:{
                            postcssOptions:{
                                plugins:[
                                    [
                                        "postcss-preset-env",
                                        {
                                            browsers:'last 2 versions'
                                        }
                                    ]
                                ]
                            }
                        }
                    },
                    "less-loader"
                ]
            }
        ]
    },

    plugins: [
        new CleanWebpackPlugin(),
        new HtmlWebpackPlugin({
            title: '贪食蛇',
            template:"./src/index.html"
            
        }),
    ]
}

tsconfig.json


{
    "include": [
        "src/**/*"
      ],
      "exclude": [
        "node_modules"
      ],
    "compilerOptions": {
        "target": "ES2015",
        "module": "ES2015",
        
    }
}

package.json 的scripts

  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack --mode production",
    "start": "webpack serve "
  },

index.less

body{
    background-color: rgb(240, 220, 236);
    display: flex;
}
.Interface{
    width: 35%;
    height: 550px;
    border: 6px solid black;
    margin-left: 30%;
    margin-top: 50px;
    border-radius: 20px;
}
.move{
    width: 90%;
    height: 400px;
    margin: 27px 241px 107px 24px;
    border: 1px solid black;
    position: relative;
}
#SCORE {
    font-size: 25px;
   
    margin: 20px 60px;
}
#level{
    font-size: 25px;
   
    margin: 20px 60px;
}
.message{
    margin-top: -108px;
    display: flex;
    justify-content: space-between;
}
#snake{
    width: 10px;
    height: 10px;
    background-color: rgb(2, 2, 2);
    border: 1px solid rgb(240, 220, 236);
    position: absolute;
}
#food{
    width: 10px;
    height: 10px;
    border: 1px solid rgb(240, 220, 236);
    position: absolute;
    left: 50px;
    top: 50px;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-content: space-between;
    &>div{
        width: 4px;
        height: 4px;
        background-color: rgb(218, 19, 95);
        transform: rotate(45deg);
    }
}

在这里插入图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-06 12:08:27  更:2021-10-06 12:10:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 21:39:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码