How to use webpack modules on inline javascriptHow to validate an email address in JavaScript?How do JavaScript closures work?How do I check if an element is hidden in jQuery?How do I remove a property from a JavaScript object?Which equals operator (== vs ===) should be used in JavaScript comparisons?How do I redirect to another webpage?How do I include a JavaScript file in another JavaScript file?What does “use strict” do in JavaScript, and what is the reasoning behind it?How to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?
Get consecutive integer number ranges from list of int
How do I check if a string is entirely made of the same substring?
Is Diceware more secure than a long passphrase?
Why do games have consumables?
555 timer FM transmitter
Why does nature favour the Laplacian?
Is it idiomatic to construct against `this`
As an international instructor, should I openly talk about my accent?
How exactly does Hawking radiation decrease the mass of black holes?
bldc motor, esc and battery draw, nominal vs peak
Can someone publish a story that happened to you?
Elements other than carbon that can form many different compounds by bonding to themselves?
Can an Area of Effect spell cast outside a Prismatic Wall extend inside it?
Dynamic SOQL query relationship with field visibility for Users
Should the Death Curse affect an undead PC in the Tomb of Annihilation adventure?
Apply MapThread to all but one variable
Extension of 2-adic valuation to the real numbers
What does ゆーか mean?
Pre-plastic human skin alternative
How do I deal with a coworker that keeps asking to make small superficial changes to a report, and it is seriously triggering my anxiety?
How much cash can I safely carry into the USA and avoid civil forfeiture?
Don’t seats that recline flat defeat the purpose of having seatbelts?
Rivers without rain
How do I reattach a shelf to the wall when it ripped out of the wall?
How to use webpack modules on inline javascript
How to validate an email address in JavaScript?How do JavaScript closures work?How do I check if an element is hidden in jQuery?How do I remove a property from a JavaScript object?Which equals operator (== vs ===) should be used in JavaScript comparisons?How do I redirect to another webpage?How do I include a JavaScript file in another JavaScript file?What does “use strict” do in JavaScript, and what is the reasoning behind it?How to check whether a string contains a substring in JavaScript?How do I remove a particular element from an array in JavaScript?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I'm an inexperienced web dev, and especially so when it comes to JavaScript. Lately I've been trying to fix that, and since Laravel's my framework of choice I'm trying to change from the "old" style of:
<script src="script1.js"></script>
<script src="script2.js"></script>
…
to something better. And using Laravel, the logical step is using Mix, which relies on Webpack.
After a lot of trial and error, I've managed to get the basic setup working. I have a settings.js file for changing the modules' default settings when necessary, and an app.js file for custom functions I'd like to make available on every page. I'm also separating the vendor modules to a vendors.js file.
So the bootstrap.js file has:
window._ = require('lodash');
window.$ = window.jQuery = require('jquery');
[...]
require('bootstrap-datepicker');
require('bootstrap-year-calendar');
The webpack.mix.js file has:
mix.autoload( jquery: ['$', 'jQuery', 'window.jQuery']);
mix.webpackConfig( resolve: alias: jquery: "jquery/src/jquery" );
mix.js([
'resources/js/app.js',
'resources/js/settings.js'
], 'public/js')
.extract([
'lodash',
'jquery',
[…]
'bootstrap-datepicker',
'bootstrap-year-calendar'
]);
And the master layout has the following scripts right before `:
<script src=" mix('/js/manifest.js') "></script>
<script src=" mix('/js/vendor.js') "></script>
<script src=" mix('/js/app.js') "></script>
This setup seems to be working, but there's one last issue I just can't seem to figure out. I also add some javascript on specific pages, for functionality limited to those pages (initialising pickers with non-default settings, custom form behaviour, etc). So some pages have an extra <script type="text/javascript"> [custom code] </script>
section before </body>
.
However, code there doesn't have access to modules: $('.input-daterange').datepicker();
should initialise an input as a bootstrap-datepicker instance, but it doesn't. Of course, using the "old style" it worked. Now, I'm getting a TypeError: undefined is not a function (near '...$('.input-daterange').datepicker...')
error.
So my issue is the following: how can I import the necessary modules to be used in the script embedded in the HTML file?
P.S.: when I was pretty much finished writing this question, I happened to stumble on the solution. I decided to post it nevertheless because a) it might help someone else, and b) if there's a better way to approach this, I'd love to hear about it.
javascript webpack laravel-mix
add a comment |
I'm an inexperienced web dev, and especially so when it comes to JavaScript. Lately I've been trying to fix that, and since Laravel's my framework of choice I'm trying to change from the "old" style of:
<script src="script1.js"></script>
<script src="script2.js"></script>
…
to something better. And using Laravel, the logical step is using Mix, which relies on Webpack.
After a lot of trial and error, I've managed to get the basic setup working. I have a settings.js file for changing the modules' default settings when necessary, and an app.js file for custom functions I'd like to make available on every page. I'm also separating the vendor modules to a vendors.js file.
So the bootstrap.js file has:
window._ = require('lodash');
window.$ = window.jQuery = require('jquery');
[...]
require('bootstrap-datepicker');
require('bootstrap-year-calendar');
The webpack.mix.js file has:
mix.autoload( jquery: ['$', 'jQuery', 'window.jQuery']);
mix.webpackConfig( resolve: alias: jquery: "jquery/src/jquery" );
mix.js([
'resources/js/app.js',
'resources/js/settings.js'
], 'public/js')
.extract([
'lodash',
'jquery',
[…]
'bootstrap-datepicker',
'bootstrap-year-calendar'
]);
And the master layout has the following scripts right before `:
<script src=" mix('/js/manifest.js') "></script>
<script src=" mix('/js/vendor.js') "></script>
<script src=" mix('/js/app.js') "></script>
This setup seems to be working, but there's one last issue I just can't seem to figure out. I also add some javascript on specific pages, for functionality limited to those pages (initialising pickers with non-default settings, custom form behaviour, etc). So some pages have an extra <script type="text/javascript"> [custom code] </script>
section before </body>
.
However, code there doesn't have access to modules: $('.input-daterange').datepicker();
should initialise an input as a bootstrap-datepicker instance, but it doesn't. Of course, using the "old style" it worked. Now, I'm getting a TypeError: undefined is not a function (near '...$('.input-daterange').datepicker...')
error.
So my issue is the following: how can I import the necessary modules to be used in the script embedded in the HTML file?
P.S.: when I was pretty much finished writing this question, I happened to stumble on the solution. I decided to post it nevertheless because a) it might help someone else, and b) if there's a better way to approach this, I'd love to hear about it.
javascript webpack laravel-mix
add a comment |
I'm an inexperienced web dev, and especially so when it comes to JavaScript. Lately I've been trying to fix that, and since Laravel's my framework of choice I'm trying to change from the "old" style of:
<script src="script1.js"></script>
<script src="script2.js"></script>
…
to something better. And using Laravel, the logical step is using Mix, which relies on Webpack.
After a lot of trial and error, I've managed to get the basic setup working. I have a settings.js file for changing the modules' default settings when necessary, and an app.js file for custom functions I'd like to make available on every page. I'm also separating the vendor modules to a vendors.js file.
So the bootstrap.js file has:
window._ = require('lodash');
window.$ = window.jQuery = require('jquery');
[...]
require('bootstrap-datepicker');
require('bootstrap-year-calendar');
The webpack.mix.js file has:
mix.autoload( jquery: ['$', 'jQuery', 'window.jQuery']);
mix.webpackConfig( resolve: alias: jquery: "jquery/src/jquery" );
mix.js([
'resources/js/app.js',
'resources/js/settings.js'
], 'public/js')
.extract([
'lodash',
'jquery',
[…]
'bootstrap-datepicker',
'bootstrap-year-calendar'
]);
And the master layout has the following scripts right before `:
<script src=" mix('/js/manifest.js') "></script>
<script src=" mix('/js/vendor.js') "></script>
<script src=" mix('/js/app.js') "></script>
This setup seems to be working, but there's one last issue I just can't seem to figure out. I also add some javascript on specific pages, for functionality limited to those pages (initialising pickers with non-default settings, custom form behaviour, etc). So some pages have an extra <script type="text/javascript"> [custom code] </script>
section before </body>
.
However, code there doesn't have access to modules: $('.input-daterange').datepicker();
should initialise an input as a bootstrap-datepicker instance, but it doesn't. Of course, using the "old style" it worked. Now, I'm getting a TypeError: undefined is not a function (near '...$('.input-daterange').datepicker...')
error.
So my issue is the following: how can I import the necessary modules to be used in the script embedded in the HTML file?
P.S.: when I was pretty much finished writing this question, I happened to stumble on the solution. I decided to post it nevertheless because a) it might help someone else, and b) if there's a better way to approach this, I'd love to hear about it.
javascript webpack laravel-mix
I'm an inexperienced web dev, and especially so when it comes to JavaScript. Lately I've been trying to fix that, and since Laravel's my framework of choice I'm trying to change from the "old" style of:
<script src="script1.js"></script>
<script src="script2.js"></script>
…
to something better. And using Laravel, the logical step is using Mix, which relies on Webpack.
After a lot of trial and error, I've managed to get the basic setup working. I have a settings.js file for changing the modules' default settings when necessary, and an app.js file for custom functions I'd like to make available on every page. I'm also separating the vendor modules to a vendors.js file.
So the bootstrap.js file has:
window._ = require('lodash');
window.$ = window.jQuery = require('jquery');
[...]
require('bootstrap-datepicker');
require('bootstrap-year-calendar');
The webpack.mix.js file has:
mix.autoload( jquery: ['$', 'jQuery', 'window.jQuery']);
mix.webpackConfig( resolve: alias: jquery: "jquery/src/jquery" );
mix.js([
'resources/js/app.js',
'resources/js/settings.js'
], 'public/js')
.extract([
'lodash',
'jquery',
[…]
'bootstrap-datepicker',
'bootstrap-year-calendar'
]);
And the master layout has the following scripts right before `:
<script src=" mix('/js/manifest.js') "></script>
<script src=" mix('/js/vendor.js') "></script>
<script src=" mix('/js/app.js') "></script>
This setup seems to be working, but there's one last issue I just can't seem to figure out. I also add some javascript on specific pages, for functionality limited to those pages (initialising pickers with non-default settings, custom form behaviour, etc). So some pages have an extra <script type="text/javascript"> [custom code] </script>
section before </body>
.
However, code there doesn't have access to modules: $('.input-daterange').datepicker();
should initialise an input as a bootstrap-datepicker instance, but it doesn't. Of course, using the "old style" it worked. Now, I'm getting a TypeError: undefined is not a function (near '...$('.input-daterange').datepicker...')
error.
So my issue is the following: how can I import the necessary modules to be used in the script embedded in the HTML file?
P.S.: when I was pretty much finished writing this question, I happened to stumble on the solution. I decided to post it nevertheless because a) it might help someone else, and b) if there's a better way to approach this, I'd love to hear about it.
javascript webpack laravel-mix
javascript webpack laravel-mix
asked Mar 9 at 9:20
user7401727user7401727
257
257
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Doing the import not on the embedded javascript, but on either my app.js
or settings.js
files, made it work:
import 'bootstrap-datepicker';
import 'bootstrap-year-calendar';
However, making the imports on settings.js
rather than app.js
seems to cause some issues, as it broke some separate functionality. I'm not sure if it's because app.js
is listed first in the webpack.mix.js
file (as shown below), but nevertheless the file where you make the imports does matter.
mix.js([
'resources/js/app.js',
'resources/js/settings.js'
], 'public/js')
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55075810%2fhow-to-use-webpack-modules-on-inline-javascript%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Doing the import not on the embedded javascript, but on either my app.js
or settings.js
files, made it work:
import 'bootstrap-datepicker';
import 'bootstrap-year-calendar';
However, making the imports on settings.js
rather than app.js
seems to cause some issues, as it broke some separate functionality. I'm not sure if it's because app.js
is listed first in the webpack.mix.js
file (as shown below), but nevertheless the file where you make the imports does matter.
mix.js([
'resources/js/app.js',
'resources/js/settings.js'
], 'public/js')
add a comment |
Doing the import not on the embedded javascript, but on either my app.js
or settings.js
files, made it work:
import 'bootstrap-datepicker';
import 'bootstrap-year-calendar';
However, making the imports on settings.js
rather than app.js
seems to cause some issues, as it broke some separate functionality. I'm not sure if it's because app.js
is listed first in the webpack.mix.js
file (as shown below), but nevertheless the file where you make the imports does matter.
mix.js([
'resources/js/app.js',
'resources/js/settings.js'
], 'public/js')
add a comment |
Doing the import not on the embedded javascript, but on either my app.js
or settings.js
files, made it work:
import 'bootstrap-datepicker';
import 'bootstrap-year-calendar';
However, making the imports on settings.js
rather than app.js
seems to cause some issues, as it broke some separate functionality. I'm not sure if it's because app.js
is listed first in the webpack.mix.js
file (as shown below), but nevertheless the file where you make the imports does matter.
mix.js([
'resources/js/app.js',
'resources/js/settings.js'
], 'public/js')
Doing the import not on the embedded javascript, but on either my app.js
or settings.js
files, made it work:
import 'bootstrap-datepicker';
import 'bootstrap-year-calendar';
However, making the imports on settings.js
rather than app.js
seems to cause some issues, as it broke some separate functionality. I'm not sure if it's because app.js
is listed first in the webpack.mix.js
file (as shown below), but nevertheless the file where you make the imports does matter.
mix.js([
'resources/js/app.js',
'resources/js/settings.js'
], 'public/js')
answered Mar 9 at 9:20
user7401727user7401727
257
257
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55075810%2fhow-to-use-webpack-modules-on-inline-javascript%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown