类型 IInstance 上不存在 typescript 文件属性 selectpicker 中的错误

Posted

技术标签:

【中文标题】类型 IInstance 上不存在 typescript 文件属性 selectpicker 中的错误【英文标题】:Error in typescript file property selectpicker does not exist on type IInstance 【发布时间】:2017-09-20 17:11:43 【问题描述】:

使用 Bootstrap-select 通过多选下拉菜单创建组并启用搜索 面临以下错误 IInstance 类型上不存在属性“selectpicker”

环境: 打字稿2.2 角度 2.0 jQuery 2.2.4 jQuery-ts 2.1.1

please find the attached image which contain error message

【问题讨论】:

在使用之前,您没有引用引导日期选择器。 【参考方案1】:
 isDevBuild = process.argv.indexOf('--env.prod') < 0;
var path = require('path');
var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var extractCSS = new ExtractTextPlugin('vendor.css');

module.exports = 
    resolve: 
        extensions: [ '', '.js' ]
    ,
    module: 
        loaders: [
             test: /\.(png|woff|woff2|eot|ttf|svg)(\?|$)/, loader: 'url-loader?limit=100000' ,
             test: /\.css(\?|$)/, loader: extractCSS.extract(['css']) 
        ]
    ,
    entry: 
        vendor: [
            '@angular/common',
            '@angular/compiler',
            '@angular/core',
            '@angular/http',
            '@angular/platform-browser',
            '@angular/platform-browser-dynamic',
            '@angular/router',
            '@angular/platform-server',
            '@type/bootstrap-select',
            'angular2-universal',
            'angular2-universal-polyfills',
            'bootstrap',
            'bootstrap/dist/css/bootstrap.css',
            'bootstrap-select',
            'bootstrap-select/dist/css/bootstrap-select.css',
            'es6-shim',
            'es6-promise',
            'font-awesome/css/font-awesome.css',
            'jquery',
            'jquery-ts',
            'zone.js',
        ]
    ,
    output: 
        path: path.join(__dirname, 'wwwroot', 'dist'),
        filename: '[name].js',
        library: '[name]_[hash]',
    ,
    plugins: [
        extractCSS,
        new webpack.ProvidePlugin( $: 'jquery', jQuery: 'jquery' ), // Maps these identifiers to the jQuery package (because Bootstrap expects it to be a global variable)
        new webpack.optimize.OccurenceOrderPlugin(),
        new webpack.DllPlugin(
            path: path.join(__dirname, 'wwwroot', 'dist', '[name]-manifest.json'),
            name: '[name]_[hash]'
        )
    ].concat(isDevBuild ? [] : [
        new webpack.optimize.UglifyJsPlugin( compress:  warnings: false  )
    ])
;

【讨论】:

【参考方案2】:

安装 bootstrap-select 的类型并确保将依赖项 jquerybootstrapbootstrap-select 导入到您的代码中,以防止出现任何运行时错误:

npm install --save-dev @types/bootstrap-select

【讨论】:

谢谢,如何在package.json和webpack.config.vendor.js中添加@types/bootstrap-select。 npm install 将保存到 package.json。查看webpack documentation 的配置。通常,如果您在代码中导入文件,webpack 会打包您的文件。 我已经使用 npm 命令安装了@types/bootstrap-select 并将其更新为供应商捆绑包,即 webpack.config.vendor.js。它没有解决问题 package.json 中的代码 ' "devDependencies": "@types/bootstrap-select": "^1.11.0" ' 添加到供应商包 ' '@类型/引导选择', ' 如果不知道你的 webpack 配置就帮不上什么忙了。

以上是关于类型 IInstance 上不存在 typescript 文件属性 selectpicker 中的错误的主要内容,如果未能解决你的问题,请参考以下文章

TypeScript:类型“”上不存在属性

错误 TS2339:类型“”上不存在属性“包含”

类型“”上不存在属性“forEach”

类型“”上不存在 Typescript 错误属性“成员”

类型“T”上不存在属性 - 一般问题

“EventTarget”类型上不存在属性“值”