lukeed / lukeed/webpack-plugin-replace
ERROR in http.min.js from Terser
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 36
- Forks
- 8
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
When I set webpack config `mode: 'production'`,it throw error:
```
ERROR in http.min.js from Terser
"Export" statement may only appear at the top level [http.min.js:1161,0]
```
But when I set `mode: 'development'`,it works...I can't figure out why.
```js
// http.js
const http = () => {}
http.version = '__version__';
export default http;
```
```js
// webpack.build-lib.js
const path = require('path');
const ReplacePlugin = require('../lib/webpack-plugin-replace');
const rootPath = path.resolve(__dirname, '..');
const pkg = require('../package.json');
const libName = 'http';
const entryFile = path.resolve(rootPath, `src/${libName}.js`);
module.exports = {
entry: entryFile,
mode: 'production',
output: {
path: path.resolve(rootPath, 'lib'),
filename: `${libName}.min.js`,
libraryTarget: 'umd2',
libraryExport: 'default',
},
plugins: [
new ReplacePlugin({
exclude: [
/node_modules/,
],
patterns: [{
regex: /__version__/g,
value: pkg.version,
}],
}),
],
};
```
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit http.js und webpack.build-lib.js, führe dann den Production-Build aus, der mode: 'production' und Terser verwendet, und vergleiche ihn mit dem Development-Build. Verfolge, wie die Ausgabe von ReplacePlugin lib/http.min.js erreicht, und ermittle, warum der Export nicht mehr auf der obersten Ebene vorhanden ist. Als erledigt gilt die Aufgabe, wenn der Production-Build ohne den gemeldeten Terser-Fehler abgeschlossen wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript
- Bereich
- build-system
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100