Comments (11)
I will try to find a workaround for this problem.
from pug-plugin.
@YUCLing
I found the problem, I can fix it!
from pug-plugin.
Oh, I see you do solve the inline JS throwing errors in this situation, although the HMR code still exists.
Making it coexists with HMR code could be a solution, I don't see any further issues so far.
This issue can be closed since things are working now. 😃
from pug-plugin.
yes, inlined JS contains the HRM code (inc. source maps) and works in a Browser very well with reference to source file.
from pug-plugin.
Hi @YUCLing,
thank you for the issue report!
Temporary solution
Pass the isDev
variable into Pug template and use inline JS only if isDev
is false.
Pass the mode
into webpack.config.js:
packages.json
{
"scripts": {
"start": "webpack serve --mode=development",
"build": "webpack --mode=production --progress",
},
}
webpack.config.js
module.exports = (env, argv) => {
const isDev = argv.mode === 'development';
return {
entry: {
index: './src/views/home/index.pug',
},
plugins: [
new PugPlugin(),
],
module: {
rules: [
{
test: /.pug$/,
loader: PugPlugin.loader,
options: {
data: {
isDev, // pass variable in all Pug files
}
}
},
],
},
};
}
Pug file
head
if isDev
script(src=require('./main.js') defer='defer')
else
script=require('./main.js?inline')
body
from pug-plugin.
Sad to hear this, but still appreciate your effort.
Since I can accept using extracted JS in dev mode, so the temporary hack works for me. 😃
However, this will be helpful and can make the code simpler if there will be a solution found.
from pug-plugin.
I have fixed the issue in v4.9.2
.
from pug-plugin.
Strange, I'm still getting unexpected output here...
Let me see if I can make a minimal reproduction. 😄
from pug-plugin.
unexpected output
In webpack serve
mode or by build too?
from pug-plugin.
unexpected output
In
webpack serve
mode or by build too?
Still serve
only since I only use HMR in dev mode. (HMR is not enabled in build mode)
from pug-plugin.
The same issue was described by mini-css-extract-plugin issue.
It is a limitation of Webpack.
from pug-plugin.
Related Issues (20)
- Very long project rebuild HOT 1
- Error RSPack with pug-plugin HOT 1
- i18next doesn't work after pug-plugin update to 5.0.0 (windows only) HOT 4
- How to complie the pug file to template function on pug-plugin v5 like pug-plugin v4? HOT 9
- How do I connect modules so that I can use them, instead of getting the resolved path to this module? HOT 2
- Some difficult questions (SCSS import as string)... HOT 7
- [FEATURE REQUEST] Preload support for font image audio video HOT 4
- Require manifest.json file HOT 3
- How to use Tailwind CSS with pug-plugin HOT 5
- Unexpected token '.' in Plugin.js issue. Can't compile my files HOT 1
- When connecting one page to js, a number is substituted HOT 4
- How to set the correct path to files connected via url in scss with Output Path option HOT 3
- Compilation fail on module contents change HOT 5
- The handling of @import at-rules in CSS is not supported. HOT 4
- [FEATURE REQUEST] Add ability to disable scripts compiling. HOT 2
- Failed to generate common named chunk with enabled pug plugin HOT 4
- Invalid url when using full path "publicPath" option HOT 5
- How to dynamically substitute a path in pug include HOT 1
- Issue with imports in required scripts HOT 7
- handling pug in webpack setupMiddlewares
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pug-plugin.