ElemeFE / ElemeFE/obsolete-webpack-plugin

Plugin doesn't generate js file

Open
#11 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
186
Forks
13
PR merge metrics
No merged PRs in 30d

Description

## Environment

- Plugin Version: 0.5.6
- Webpack Version: 4.40.2
- OS Version: Windows 10 / OS X Mojave
- Node Version: Node 10
- NPM Version: NPM 6
- Browser Version: Firefox 69 / IE 11 / Edge 16

## Current Behavior

Plugin doesn't generate a standalone JavaScript file.

## Expected Behavior

Plugin should create a standalone JavaScript file.

## Detailed Description

Here is my webpack.config.js:

```javascript
/**
* Autor: Andre Sieverding
* Copyright © 2019
*/

const path = require('path')
const fs = require('fs')
const webpack = require('webpack')
const nodeExternals = require('webpack-node-externals')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
const ObsoleteWebpackPlugin = require('obsolete-webpack-plugin')

// Get app configurations
var config = fs.readFileSync('config.json')
config = JSON.parse(config)

// Get node environment
const { NODE_ENV } = process.env
const isDev = NODE_ENV === 'development'
const env = isDev ? 'development' : 'production'

// Define webpack rules
const markoRule = {
test: /\.marko?$/,
loader: '@marko/webpack/loader'
}

const styleRule = {
test: /\.(sass|scss|css)$/,
use: [
'style-loader',
'css-loader',
'sass-loader'
]
}

const vectorRule = {
test: /\.svg/,
loader: 'svg-url-loader'
}

const imageRule = {
test: /\.(jpg|jpeg|gif|png|ico)$/,
use: [
{
loader: 'file-loader',
options: {
name: 'images/[name]-[hash:8].[ext]'
}
}
]
}

const fontRule = {
test: /\.(woff|woff2|ttf|eot)$/,
use: [
{
loader: 'file-loader',
options: {
name: 'webfonts/[name]-[hash:8].[ext]'
}
}
]
}

// Webpack config for browser
const client = {
name: 'Client',
mode: env,
entry: {
app: isDev ? [
'webpack-hot-middleware/client?reload=true',
'./app/client.js'
]: ['./app/client.js']
},
output: {
filename: '[name].js',
path: path.resolve(__dirname, 'dist'),
publicPath: config.path + '/assets/'
},
devServer: isDev ? {
contentBase: path.join(__dirname, 'dist'),
historyApiFallback: true,
overlay: true,
hot: true,
stats: 'minimal',
} : undefined,
devtool: isDev ? 'source-map' : undefined,
resolve: {
extensions: ['.js', '.json', '.marko']
},
module: {
rules: [markoRule, styleRule, vectorRule, imageRule, fontRule]
},
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
}),
new MiniCssExtractPlugin({
filename: '[name].css'
}),
new ObsoleteWebpackPlugin({
name: 'outdatedBrowser',
promptOnNonTargetBrowser: true,
template: '

Dein Browser ist veraltet!

Aktualisiere deinen Browser um diese Webanwendung zu verwenden. Browser jetzt updaten

×

'
}),
isDev && new webpack.HotModuleReplacementPlugin()
].filter(Boolean)
}

// Webpack config for server
const server = {
name: 'Server',
mode: env,
target: 'node',
externals: nodeExternals(),
entry: {
server: ['./app/server.js']
},
output: {
filename: '[name].js',
path: path.resolve(__dirname, 'dist'),
},
resolve: {
extensions: ['.js', '.json', '.marko']
},
module: {
rules: [markoRule, vectorRule, imageRule]
}
}

module.exports = [
server,
client
]

```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.