use*_*702 5 typescript jquery-inputmask webpack
我在使用 webpack 和 TypeScript 导入jquery.inputmask时遇到问题。Question: build this with webpack/es6 #1115有一些讨论:
这是我如何使用 jqlite 设置的
像这样导入您的应用程序:
Run Code Online (Sandbox Code Playgroud)import InputMask from 'inputmask';要使该模块可以使用该名称,您必须为其和 dep lib 指定别名
webpack 配置(使用 jqlite dep lib,如果您使用 jquery,请将其替换为 jquery):
Run Code Online (Sandbox Code Playgroud){ // ... your config + resolve: { alias: { 'inputmask.dependencyLib': path.join(__dirname, 'node_modules/jquery.inputmask/extra/dependencyLibs/inputmask.dependencyLib.jqlite.js'), 'inputmask': path.join(__dirname, 'node_modules/jquery.inputmask/dist/inputmask/inputmask.js') } } }
我有一个类似的 webpack 配置,使用 jQuery 而不是 jqLite 作为依赖项:
alias: {
"inputmask.dependencyLib": path.join(__dirname, '../node_modules/jquery.inputmask/dist/inputmask/inputmask.dependencyLib.jquery.js'),
"inputmask": path.join(__dirname, '../node_modules/jquery.inputmask/dist/inputmask/inputmask.js')
}
Run Code Online (Sandbox Code Playgroud)
使用import InputMask from "inputmask";TypeScript 编译器会抛出错误:
错误 TS2307:找不到模块“inputmask”。
当import "inputmask";我调用时出现运行时错误$(element).inputmask(mask);:
类型错误:$(...).inputmask 不是函数
是配置有问题,还是库本身有问题?
周末有人在 GitHub 上提出了类似的问题,也发布了解决方案。
完整的要点(带评论)可以在这里找到。还需要两个额外的别名:
"jquery": path.join(__dirname, '../node_modules/jquery/dist/jquery.js'),
"inputmask.dependencyLib": path.join(__dirname, '../node_modules/jquery.inputmask/dist/inputmask/inputmask.dependencyLib.jquery.js'),
"inputmask": path.join(__dirname, '../node_modules/jquery.inputmask/dist/inputmask/inputmask.js'),
"jquery.inputmask": path.join(__dirname, '../node_modules/jquery.inputmask/dist/inputmask/jquery.inputmask.js')
Run Code Online (Sandbox Code Playgroud)
然后要导入库,请使用import "jquery.inputmask";.
| 归档时间: |
|
| 查看次数: |
6983 次 |
| 最近记录: |