首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript -未找到导入

Javascript -未找到导入
EN

Stack Overflow用户
提问于 2018-05-04 07:31:06
回答 2查看 3.2K关注 0票数 1

我正试图使文本掩码GitHub存储库与我的laravel项目一起工作,因此,我想使用一个允许我以价格掩蔽输入字段的附加词。我所说的GitHub存储库是链接在这里

这个插件名为createNumberMask,在他们的github页面上,他们的文档中写着:

代码语言:javascript
复制
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

现在,当我尝试将其实现到我自己的项目中时,它会给出一个错误,即无法找到导入。是什么引起的?

我有一个刀片文件,它的底部有脚本标签。刀锋文件看起来像这样,

代码语言:javascript
复制
@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

代码语言:javascript
复制
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
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-04 07:35:38

代码包含在刀片模板中,而不是通过resources/assets/js/app.js或任何类型的javascript编译器(本例中为‘webpack’)。

问题是,虽然大多数浏览器都理解~ ES6,但导入/要求仍然存在限制。

由于node_modules位于服务器端,前端不能只访问它。

因此,您可以/需要做的是以一种或另一种方式将其添加到上述javascript文件中,并使用npm run dev或类似的方式编译它。

票数 2
EN

Stack Overflow用户

发布于 2018-05-04 07:35:05

确保您使用的是ES6 Transpiler,即Babel。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50169526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档