项目结构
-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
}