typescript 如何引入jquery
webpack配置,不需要配置externals,webpack具体配置如下,
const webpack = require('webpack');
const path = require('path');
const htmlWebpackPlugin = require('html-webpack-plugin');
const { CheckerPlugin } = require('awesome-typescript-loader')
// 设置dev环境或pro环境
const WEBPACK_ENV = process.env.WEBPACK_ENV || 'dev';
// 对babel的配置,内容同.babelrc文件
const babelOptions = {
"presets": [
[
"env",
{
"targets": { "browsers": ["last 2 versions", "safari >= 7"] }
},
]
]
};
// htmlWebpackPLugin 默认配置
var getHtmlConfig = function (name, title) {
return {
template: './src/views/' + name + '.html',
filename: './views/' + name + '.html',
// favicon: './favicon.ico',
title: title,
inject: true,
hash: true,
};
};
// 获取页面地址
var getInitEntryModal = function (name) {
return [path.join(__dirname, './src/pages/' + name + '.ts')];
}
// ts-loader的配置
const tsLoaderOptions = {
transpileOnly: true
};
module.exports = {
entry: {
'index': getInitEntryModal('index'),
},
output: {
filename: './scripts/[name].js',
path: path.join(__dirname, './dist'),
},
resolve: {
extensions: [".webpack.js", ".web.js", ".ts", ".tsx", ".js"]
},
module: {
rules: [
{
test: /\.ts(x?)$/,
exclude: /node_modules/,
use: [
{ loader: 'ts-loader', options: tsLoaderOptions },
// { loader: 'awesome-typescript-loader' }
// { loader: 'babel-loader', options: babelOptions },
],
}
// { test: /\.js$/, enforce: "pre", loader: "source-map-loader" },
// { enforce: 'pre', test: /\.tsx?$/, use: "source-map-loader" },
// { test: /\.tsx?$/, loader: 'awesome-typescript-loader', exclude: /node_modules/ },
],
},
//将外部变量或者模块加载进来, 在.ts文件中要引用jquery,下面代码屏蔽
// externals: {
// 'jquery': 'window.jQuery',
// },
devtool: "source-map",
plugins: [
// new webpack.LoaderOptionsPlugin({
// options: { resolve: { extensions: [".ts", ".tsx", ".js"] } }
// }),
new htmlWebpackPlugin(getHtmlConfig('index', 'index')),
],
devServer: {
contentBase: path.join(__dirname, './dist'),
port: 9000,
// host: '192.168.81.1',
open: false,
hot: false,
inline: true,
compress: true,
},
}
jquery 代码测试
import $ = require("jquery");
export class App {
public addComment(): void {
let creatAt = new Date();
$("#main").append("<div><span>new comment pushed at." + creatAt.toTimeString() + "</span>");
}
}
let app = new App();
$(() => {
$("#btn-add").click(app.addComment);
});
typescript 如何引入jquery的更多相关文章
- 脚手架搭建的vue项目里引入jquery和bootstrap
引入jquery: 1.在cmd输入:npm install jquery,回车,等待.. 2.在webpack.base.conf.js里进行如下操作: 3.在webpack.prod.conf.j ...
- 在Web工程中引入Jquery插件报错解决方案
在学习Jquery插件的时候,遇到一个问题就是新建web工程后在WebRoot下引入Jquery插件的时候报错,不知道为什么好纠结,但是项目能正常运行,后来找到解决方案,在这里给大家分享一下. 解决方 ...
- vue-cli中如何引入jquery
前言 虽然vue不推荐直接操作DOM,而且也提供了操作DOM的方式.但是在某些时候还是要用到jquery(囧),那么如何在使用vue-cli的时候引入jquery呢? 安装 国内镜像 cnpm 安装 ...
- vue中引入jQuery和bootstrap
一.引入jQuery: 首先在当前项目的根目录下(就是与package.json同目录),运行命令npm install jquery --save-dev 这样就将jquery安装到了这个项目中 ...
- 判断是否引入jQuery,没有则引入
<script type="text/javascript"> window.jQuery || document .write("<script sr ...
- [转]如何在Angular4中引入jquery
本文转自:https://blog.csdn.net/home_zhang/article/details/77992734 1.anjq是我的项目名称: 在anjq目录下打开dos命令窗口,然后依次 ...
- 使用jQuery插件时避免重复引入jquery.js文件
当一个页面使用多个jQuery插件时,需要避免重复引入jquery.js文件,因为后面映入的jQuery.js文件中定义的jQuery对象会覆盖掉前面的jQuery对象,导致之前定义的jQuery插件 ...
- 在vue项目中引入jquery
在vue项目中引入jquerycnpm install jquery --save在main.js中引入,加入下面这行代码:import 'jquery'注:有些项目是按需加载的,在main.js里面 ...
- seajs引入jquery框架问题
seajs引入jquery框架时出现的问题 原因:由于seajs是遵循cmd规范,而jquery是遵循amd规范,所以在seajs调用jquery框架时,需要将amd转换为cmd 转换方法:jquer ...
随机推荐
- ubuntu 14.04 pytorch安装
一. pytorch官网上有安装说明: 但是在安装过程中,由于pip版本为1.5.4,需要先对pip版本进行升级才行,升级步骤如下: 1. sudo apt-get remove python-pip ...
- AWS免费套餐服务器部署NETCORE网站
之前的linode充了5美元,一个月就用完了,还是创建的最便宜的服务器的!!! 以前一直想用用aws的所谓的免费套餐服务器的,现在linode过期了,可以试着用用了 下面是我的操作流程,包含错误及解决 ...
- 常用xpath选择器和css选择器总结
xpath选择器 表达式 说明 article 选取所有article元素的所有子节点 /article 选取根元素article article/a 选取所有属于article的子元素的a元素 // ...
- hdoj:2052
#include <iostream> #include <string> using namespace std; int main() { int n, m; while ...
- Oracle分析函数-nulls first/nulls last
select * from criss_sales; 通过rank().dense_rank().row_number()对记录进行全排列.分组排列取值但有时候,会遇到空值的情况,空值会影响得到的结果 ...
- Linux服务器重启后eureka报错
在Linux服务器重启后,首次启动应用时查看eureka注册中心,报错 EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP W ...
- Ubuntu 16.10 server 相关
1)安装图形化界面 sudo apt-get install xinit sudo apt-get install gnome 2)启用root账号 ① sudo passwd root ② 修改/e ...
- node-sass 安装失败 Failed at the node-sass@4.9.2 postinstall script的解决
控制台运行npm install时报错,报错信息如下: npm ERR! code ELIFECYCLEnpm ERR! errno 1npm ERR! node-sass@4.9.2 postins ...
- BarTender安装常见问题集结
很多人在安装BarTender时,会出现各种安装程序信息警告提示,导致软件无法继续安装下去,那么针对这些Bartender安装问题我们要怎么正确解决呢?下面,小编将BarTender安装失败常见问题, ...
- count(1)、count(*)与count(列名)的执行区别
执行效果: 1. count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了! 从执行计划来看,count(1)和coun ...