记录撸一套自己的js库

96 阅读1分钟

项目结构

-build (webpack)
-dist 
-src
	-index.js
-.babelrc
-.eslintrc
-.gitignore
.npmignore
LICENSE
package.json
prettierrc

文件详情

package.json

{
  "name": "damo-utils",
  "version": "0.0.1",
  "description": "常用js方法工具库整理",
  "main": "dist/index.js",
  "scripts": {
      "dev": "webpack-dev-server --config ./build/webpack.dev.js",
      "build": "webpack --config ./build/webpack.prod.js"
  },
  "repository": {
      "type": "git",
      "url": "git@gitlab.alibaba-inc.com:wb-wzy505878/s_tool.git"
  },
  "devDependencies": {
      "@babel/core": "^7.8.6",
      "@babel/preset-env": "^7.8.6",
      "babel-loader": "^8.0.6",
      "babel-plugin-add-module-exports": "^1.0.2",
      "clean-webpack-plugin": "^3.0.0",
      "eslint": "^7.14.0",
      "eslint-config-prettier": "^6.15.0",
      "eslint-plugin-prettier": "^3.1.4",
      "html-webpack-plugin": "^3.2.0",
      "prettier": "^2.2.1",
      "prettier-eslint-cli": "^5.0.0",
      "webpack": "^4.42.0",
      "webpack-cli": "^3.3.11",
      "webpack-dev-server": "^3.10.3",
      "webpack-merge": "^4.2.2"
  },
  "browserslist": [
      "> 1%",
      "last 2 versions"
  ],
  "publishConfig": {
  },
  "keywords": [],
  "author": "damo",
  "license": "MIT"
}

webpack.common.js

var path = require("path");

const { CleanWebpackPlugin } = require("clean-webpack-plugin"); //清除dist文件

module.exports = {
    entry: "./src/index.js",

    output: {
        path: path.resolve(__dirname, "../dist"),
        filename: "index.js",
        library: "sTool",
        libraryTarget: "umd"
    },

    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /(node_modules|bower_components)/,
                use: {
                    loader: "babel-loader"
                }
            }
        ]
    },

    plugins: [new CleanWebpackPlugin()]
};

webpack.dev.js

const merge = require("webpack-merge");
const commonConfig = require("./webpack.common.js");
const HtmlWebpackPlugin = require("html-webpack-plugin");

const devConfig = {
    mode: "development",

    devtool: "source-map",

    devServer: {
        contentBase: "./dist",
        port: "8080",
        open: true,
        hot: true
    },

    plugins: [
        // 可以为你生成一个HTML文件
        new HtmlWebpackPlugin({
            title: "simple-bibrary-html"
        })
    ]
};

module.exports = merge(commonConfig, devConfig);

src-index.js

import test from "./console"
export{
    test
}