Skip to content

Instantly share code, notes, and snippets.

@suvel-the-dev
Last active August 6, 2021 18:16
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save suvel-the-dev/62a15e2ea02cb0350113deacb6fce8fc to your computer and use it in GitHub Desktop.
Save suvel-the-dev/62a15e2ea02cb0350113deacb6fce8fc to your computer and use it in GitHub Desktop.
r3f with react-spring and webpack config
{
"presets": [
[
"@babel/preset-env",
{
"modules": false
}
],
"@babel/preset-react"
],
"plugins": ["react-hot-loader/babel"]
}
.cache/
coverage/
dist/*
!dist/index.html
node_modules/
*.log
# OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
{
"name": "myapp",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"clean": "rm dist/bundle.js",
"build-dev": "webpack --mode development",
"build-prod": "webpack --mode production",
"start": "webpack serve --hot --mode development"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@babel/core": "^7.14.8",
"@babel/preset-env": "^7.14.9",
"@babel/preset-react": "^7.14.5",
"@hot-loader/react-dom": "^17.0.1",
"babel-loader": "^8.2.2",
"css-loader": "^6.2.0",
"file-loader": "^6.2.0",
"style-loader": "^3.2.1",
"url-loader": "^4.1.1",
"webpack": "^5.48.0",
"webpack-cli": "^4.7.2",
"webpack-dev-server": "^3.11.2"
},
"dependencies": {
"@react-spring/core": "^9.2.4",
"@react-spring/three": "^9.2.4",
"@react-three/drei": "^7.3.1",
"@react-three/fiber": "^7.0.6",
"jspdf": "^2.3.1",
"randomcolor": "^0.6.2",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-hot-loader": "^4.13.0",
"react-switch": "^6.0.0",
"three": "^0.131.2"
}
}
const webpack = require('webpack');
const path = require('path');
const config = {
entry: [
'react-hot-loader/patch',
'./src/index.js'
],
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js'
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
use: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.css$/,
use: [
'style-loader',
'css-loader'
]
},
{
test: /\.(|jpg|jpeg|gif)$/i,
use: [
{
loader: 'file-loader',
},
],
},
{
test: /\.svg$/,
use: 'file-loader'
},
{
test: /\.png$/,
use: [
{
loader: 'url-loader',
options: {
mimetype: 'image/png'
}
}
]
}
]
},
resolve: {
extensions: [
'.js',
'.jsx'
],
alias: {
'react-dom': '@hot-loader/react-dom'
}
},
devServer: {
contentBase: './dist'
}
};
module.exports = config;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment