我正试图使文本掩码GitHub存储库与我的laravel项目一起工作,因此,我想使用一个允许我以价格掩蔽输入字段的附加词。我所说的GitHub存储库是链接在这里
这个插件名为createNumberMask,在他们的github页面上,他们的文档中写着:
import createNumberMask from 'text-mask-addons/dist/createNumberMask'
// First, you need to create the `numberMask` with your desired configurations
const numberMask = createNumberMask({
prefix: '',
suffix: ' $' // This will put the dollar sign at the end, with a space.
})
// ...then pass `numberMask` to the Text Mask component as the mask现在,当我尝试将其实现到我自己的项目中时,它会给出一个错误,即无法找到导入。是什么引起的?
我有一个刀片文件,它的底部有脚本标签。刀锋文件看起来像这样,
@section('content')
<div class="row " style="color: white; width: 100%; margin: 0;" id="showEffect">
<div class="col-md-12 text-center" style="margin-top: 10rem">
<div class="row justify-content-md-center">
<div class="col-md-2">
<input type="text" class="myInput form-control depth-5">
</div>
</div>
</div>
</div>
<script type="module">
import createNumberMask from '/node_modules/text-mask-addons/dist/createNumberMask'
const numberMask = createNumberMask({
prefix: '€',
suffix: '',
allowDecimal: true,
});
var myInput = document.querySelector('myInput');
var maskedInputController = vanillaTextMask.maskInput({
inputElement: document.querySelector('myInput'),
mask: numberMask
});
</script>
@endsection为什么进口不起作用?js文件位于node_modules文件夹中。
APP.JS
require('./bootstrap');
import TextMask from 'vanilla-text-mask/dist/vanillaTextMask';
import createNumberMask from 'text-mask-addons/dist/createNumberMask';
window.Vue = require('vue');
window.events = new Vue();
window.flash = function (message) {
window.events.$emit('flash', message);
};
Vue.component('flash', require('./components/Flash.vue'));
// Vue.component('product-view', require('./components/Products.vue'));
// Vue.component('wysiwyg', require('./components/Wysiwyg.vue'));
const app = new Vue({
el: '#app',
});
const numberMask = createNumberMask({
prefix: '€',
suffix: '',
allowDecimal: true,
});
var myInput = document.querySelector('myInput');
var maskedInputController = vanillaTextMask.maskInput({
inputElement: document.querySelector('myInput'),
mask: numberMask
});发布于 2018-05-04 07:35:38
代码包含在刀片模板中,而不是通过resources/assets/js/app.js或任何类型的javascript编译器(本例中为‘webpack’)。
问题是,虽然大多数浏览器都理解~ ES6,但导入/要求仍然存在限制。
由于node_modules位于服务器端,前端不能只访问它。
因此,您可以/需要做的是以一种或另一种方式将其添加到上述javascript文件中,并使用npm run dev或类似的方式编译它。
发布于 2018-05-04 07:35:05
确保您使用的是ES6 Transpiler,即Babel。
https://stackoverflow.com/questions/50169526
复制相似问题