-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathwebpack.config.babel.js
More file actions
69 lines (66 loc) · 2.28 KB
/
webpack.config.babel.js
File metadata and controls
69 lines (66 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
const path = require("path");
const webpack = require("webpack");
// copy manifest.json to the path: 'public/build'
// this will allow for the authRequest to see the file at www.example.com/manifest.json
const CopyWebpackPlugin = require("copy-webpack-plugin");
const ManifestAssetPlugin = new CopyWebpackPlugin([
{ from: "src/assets/manifest.json", to: "manifest.json" }
]);
const HeadersAssetPlugin = new CopyWebpackPlugin([
{ from: "./_headers", to: "." },
{ from: "./_redirects", to: "."}
]);
const IconAssetPlugin = new CopyWebpackPlugin([
{ from: "src/images/icon-192x192.png", to: "icon-192x192.png" },
{ from: "src/images/logo.png", to: "logo.png" },
{ from: "src/images/logo1.png", to: "logo1.png" },
{ from: "src/images/carousel1.png", to: "carousel1.png" },
{ from: "src/images/carousel2.png", to: "carousel2.png" },
{ from: "src/images/carousel3.png", to: "carousel3.png" },
{ from: "src/images/home.png", to: "home.png" },
{ from: "src/images/git.png", to: "git.png" },
{ from: "src/images/link.png", to: "link.png" },
{ from: "src/images/rs.jpg", to: "rs.jpg" },
{ from: "src/images/sl.jpg", to: "sl.jpg" }
]);
const HtmlWebpackPlugin = require("html-webpack-plugin");
const HtmlWebpackPluginConfig = new HtmlWebpackPlugin({
template: "./src/index.html",
filename: "index.html",
inject: "body"
});
module.exports = {
entry: "./src/index.js",
target: "web",
output: {
path: path.resolve("public/build"),
filename: "index_bundle.js"
},
devServer: {
historyApiFallback: true,
watchOptions: { aggregateTimeout: 300, poll: 1000 },
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
"Access-Control-Allow-Headers":
"X-Requested-With, content-type, Authorization"
}
},
module: {
rules: [
{ test: /\.js$/, loader: "babel-loader", exclude: /node_modules/ },
{ test: /\.jsx$/, loader: "babel-loader", exclude: /node_modules/ },
{
test: /\.(eot|woff|woff2|ttf|svg|png|jpe?g|gif)(\?\S*)?$/,
loader: "file-loader!url-loader"
},
{ test: /\.css$/, loader: "style-loader!css-loader" }
]
},
plugins: [
HtmlWebpackPluginConfig,
ManifestAssetPlugin,
IconAssetPlugin,
HeadersAssetPlugin
]
};