You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Webpack+PUG环境下使用nice-select2报错NiceSelect未定义求助

问题:Webpack+PUG环境接入nice-select2提示'NiceSelect is not defined'

我在Webpack+PUG环境中尝试接入nice-select2插件,已将dist文件夹中的css和js文件添加到项目并完成引入,同时按照文档编写了初始化代码,但控制台提示'NiceSelect is not defined'错误。

现有代码

CSS引入(PUG)

link(rel='stylesheet' href=require('../assets/css/nice-select2.css'))

JS引入(PUG)

script(src=require('../assets/js/nice-select2.js'))

初始化代码

NiceSelect.bind(document.getElementById("a-select"), {searchable: true, placeholder: 'select', searchtext: 'zoek', selectedtext: 'geselecteerd'});

可能的原因及解决方法

  • Webpack模块处理问题
    nice-select2的JS文件是UMD模块,Webpack环境下直接用script标签引入可能不会自动挂载到全局window对象。建议改用ES模块导入:

    1. 移除PUG中的script(src=require('../assets/js/nice-select2.js'))
    2. 在你的业务JS文件中导入并初始化:
    import NiceSelect from '../assets/js/nice-select2.js';
    
    NiceSelect.bind(document.getElementById("a-select"), {
      searchable: true,
      placeholder: 'select',
      searchtext: 'zoek',
      selectedtext: 'geselecteerd'
    });
    
  • 路径解析错误
    检查../assets/js/nice-select2.js的相对路径是否正确,Webpack是相对于当前文件解析路径的。如果控制台出现404错误,说明文件没加载成功,调整路径即可。

  • 初始化时机不对
    确保初始化代码在DOM加载完成后执行,避免DOM元素未就绪或JS文件未加载完成就执行代码:

    document.addEventListener('DOMContentLoaded', function() {
      NiceSelect.bind(document.getElementById("a-select"), {
        searchable: true,
        placeholder: 'select',
        searchtext: 'zoek',
        selectedtext: 'geselecteerd'
      });
    });
    
  • 插件文件损坏
    确认你下载的nice-select2.js是完整的生产版本,尝试重新下载最新版插件替换现有文件后再测试。

内容的提问来源于stack exchange,提问作者titsilia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 19:54:54