Я использую laravel-5
что приходит с webpack
и laravel-mix
, идея состоит в том, чтобы использовать книжный магазин datetimepicker
который он одновременно использует momentjs
. Проблема состоит в том, что я не могу включить книжный магазин ни одного из способов.
Я протестировал все то, что я смог читать, но только вещь заставила меня продвигаться:
Сначала
npm install datetimepicker --save-dev
npm install moment --save-dev
Потом одна из этой двух:
Делать один require('../../../node_modules/moment/min/moment-with-locales.js');
в resources/assets/js/app.js
Или издавать webpack.mix.js
:
mix.js([
//Plugins
'node_modules/moment/min/moment-with-locales.js',
'node_modules/admin-lte/plugins/daterangepicker/daterangepicker.js',
], 'public/js/app.js');
После обоих случаев он работает npm run dev
или npm watch
, перед тем, как заканчиваться всегда у меня выходит следующая ошибка:
WARNING in ./~/moment/min/moment.min.js
Module not found: Error: Can't resolve './locale' in '/proyecto/node_modules/moment/min'
@ ./~/moment/min/moment.min.js 6:16637-16659
В смогший прочитать достаточно на теме, и только я нашел способ, в котором не появляется ошибка, они это говорят здесь.
Все же, составляя хорошо и не давая никакой ошибки, когда я пробую выполнять console.log(moment().millisecond());
всегда он дает мне ошибку в консоли: ReferenceError: moment is not defined
Они комментируют на самой странице momentjs
использовать var moment = require(...)
, что также это комментируют в issue
github
, но совсем не, то же самое.
Кто-то, кто использовал бы datetimepicker
или в Вашем недостатке momentjs
с Laravel5
знай, как включать книжный магазин без ошибок?
Мой файл resources/assets/js/app.js
:
require('./bootstrap');
//var moment = require('moment');
require('../../../node_modules/moment/min/moment-with-locales.js');
console.log(moment().millisecond());
require('../../../node_modules/admin-lte/plugins/daterangepicker/daterangepicker.js');
Для explircarte я буду предполагать, что мы находимся в новом проекте с laravel, as¦-:
Мы Устанавливаем рекомендуемый versi¦n laravel 5.4, которая приходит с webpack и laravel-mix готовые для Вашего использования.
composer create-project --prefer-dist laravel/laravel project-with-moment
, где project-with-moment
- имя папки, что contendrÃ: проект.
Вводя информацию в компьютер в проект, в laravel мы будем использовать npm
, чтобы устанавливать зависимости
npm install
npm install moment --save
Сейчас, как будут сделаны изменения в файлах .js
, и захотим отразить их в нашем проекте instantÃ: neamente, мы используем:
npm run watch
, Чтобы решать твое пунктуальное сомнение, я буду опускать c¦digo ненужно начального set, который он приносит laravel.
в каталоге твоего проекта, в файле resources/assets/js/bootstrap.js
опуская весь существующий c¦digo, мы добавляем следующий l¦-nea:
window.moment = require('moment');
это создает глобальную переменную, чтобы соглашаться в momentjs.
добавляет app.js
к markup настоящего проекта. Ты можешь делать это с:
<script src="{{ mix('js/app.js') }}"></script>
Занес в список, уже у тебя есть momentjs установленный и конфигурировавший глобально
простых Доказательств
введи информацию в компьютер в консоль твоего излюбленного браузера и выполни moment()
. VerÃ: s результат без ningún ошибка.
Использует такого Vue js как твой Framework разработки Javascript.
в файле resources/assets/js/components/app.js/
ищет инстанцию, которую он приносит по умолчанию laravel и налаживает c¦digo для того, чтобы видели как:
const app = new Vue({
el: '#app',
data: {
time: moment().format('Y-M-d H:mm:ss')
}
});
, Где time
будет являться информацией твоего instacia Vue.
В твоем markup добавляет идентификатора app
к одному из твоих элементов, и печатает информацию time
<div id="app" class="title m-b-md">
@{{ time }}
</div>
Я только что воспроизвел проблему и это оплатил меняясь:
//var moment = require('moment');
require('../../../node_modules/moment/min/moment-with-locales.js');
из твоего файла resources/assets/js/app.js
из-за:
window.moment = require('moment');
DespuГ©s применения npm run dev
или npm run watch
снова, она librerГ - в уже доступная эра с консоли и было возможно менять языка с нею funciГіn locale
:
moment().locale('es').format('LLL');
У него была та же проблема, я использую laravel 6
Проблема состоит в том, что в момент выполнения команды, чтобы устанавливать moment js
npm install moment --save
, как кажется, если устанавливается она librerГ - в, но если ты уходишь в папку node_modules/moment
, где предполагается, что estarГ-an файлы ее librerГ - в только появляется файл package.json.
, то, что ты должен делать, чтобы это решать, состоит в том, чтобы идти в хранилище github momentjs
https://github.com/moment/moment /
И загружаться или клонировать хранилище внутри папки node_modules/moment
И с этим решается проблема.
laroute
, если querí чтобы это помещать вwebpack.mix.js
. ¿ Podrí схвати расширять ответ с этими данными? – Sakrow 16.08.2017, 19:45moment
иmoment-with-locale
? – Eduardo Gh 16.08.2017, 20:13include('../../..');
и делания 'window.moment = require('moment');
porqué формы, если, что функционирует и другой не, когда (в меня понимать, хотя я очевидно запутан) обе deberí an включения librerí в. – Sakrow 16.08.2017, 20:21require('../../../node_modules/moment/min/moment.min.js');
está s требуя файла в твоем проекте, но именно, как он был показан в нескольких issues, примере этих , есть проблемы с какими-то файлами, касающимися этого файла и Вашей совместимостью с webpack. Делаяrequire('moment')
está s требуя прямо модуля внутри ' node_modules' я не эксперт по теме но aquí есть má s informació n. Я жду лучший ответ. – Eduardo Gh 16.08.2017, 22:10