webpack开发从0到1搭建与打包(TypeScript)

Webpack开发从0到1搭建与打包(TypeScript)

目录

Webpack开发从0到1搭建与打包(TypeScript)

1.yarn安装

2.项目搭建初始化

3.安装依赖package.json

4. webpack.config.js

5. typeScript简易搭建

6.项目列表

7.参考资料

8.源码发布在github


1.yarn安装

安装Node->npm->cnpm->yarn(网上非常多教程)

2.项目搭建初始化

新建文件夹webpackZou,终端进入文件夹;

初始化package.json:    npm init -p;

装载webpack\webpack-cli:  yarn add webpack webpack-cli --dev;

3.安装依赖package.json

  1.  
  2. {
  3.   "dependencies": {
  4.     "express": "^4.17.1",
  5.     "file-loader": "^6.0.0",
  6.     "webpack-cli": "^3.3.12",
  7.     "webpack-dev-middleware": "^3.7.2"
  8.   },
  9.   "devDependencies": {
  10.     "@types/lodash": "^4.14.161",
  11.     "css-loader": "^4.2.2",
  12.     "lodash": "^4.17.20",
  13.     "style-loader": "^1.2.1",
  14.     "ts-loader": "^8.0.3",
  15.     "typescript": "^4.0.2",
  16.     "webpack": "^4.44.1",
  17.     "webpack-dev-server": "^3.11.0"
  18.   },
  19.   "name": "webpack-demo",
  20.   "version": "1.0.0",
  21.   "description": "",
  22.   "private": true,
  23.   "scripts": {
  24.     "test": "echo \"Error: no test specified\" && exit 1",
  25.     "dev": "webpack-dev-server --config webpack.config.js",
  26.     "build": "webpack --config webpack.config.js",
  27.     "watch": "webpack --watch",
  28.     "server": "node server.js"
  29.   },
  30.   "author": "",
  31.   "license": "ISC",
  32.   "keywords": []
  33. }

4. webpack.config.js

const path = require("path");

 

module.exports = {

  mode: "development", //开发环境

  //webpack

  //   entry: "./src/index.js",

  //typeScript

  entry: {

    app: "./src/index.ts", //入口

    // print: "./src/print.ts",

  },

  devtool: "inline-source-map", //映射到源码位置

  module: {

    rules: [

      {

        test: /\.tsx?$/,

        use: "ts-loader",

        exclude: /node_modules/,

      },

      {

        test: /\.css$/,

        use: ["style-loader", "css-loader"],

      },

      {

        test: /\.(png|svg|jpg|gif)$/,

        use: ["file-loader"],

      },

    ],

  },

  resolve: {

    extensions: [".tsx", ".ts", ".js"],

  },

 

  output: {

    filename: "[name].bundle.js", //输出

    path: path.resolve(__dirname, "dist"),

    publicPath: "", //webpack-dev-middleware设置,yarn server//本示例只是运行3000端口一下

  },

  //dev-server

 

  devServer: {

    contentBase: path.join(__dirname, "dist"),

    port: 7000,

    // host:'0.0.0.0'//主机号

    historyApiFallback: {

      //无效地址

      rewrites: [{ from: /./, to: "/404.html" }],

    },

    watchOptions: {

      //监听文件改动

      aggregateTimeout: 800,

      poll: 1000,

      ignored: /node_modules/,

    },

    hot: true, //热刷新

  },

};

 

5. typeScript简易搭建

{

  "compilerOptions": {

    "outDir": "./dist/",

    "noImplicitAny": true,

    "module": "es6",

    "target": "es5",

    "jsx": "react",

    "allowJs": true,

    "sourceMap": true,

    "allowSyntheticDefaultImports": true,

    "esModuleInterop": true,

  }

}

 

6.项目列表

 

 

7.参考资料

https://webpack.docschina.org/guides/getting-started/

8.源码发布在github

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值