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 ...
随机推荐
- windows下查看特定端口被什么程序占用
我电脑上因为命令: netstat -ano 列出的太多了,所以不好看. 以下是其他方式: 查看8088端口占用情况: 开始---->运行---->cmd,或者是window+R组合键,调 ...
- MySQL高性能优化系列-目录
MySQL高性能优化系列-目录 (1)Mysql高性能优化规范建议 (2)电商数据库表设计 (3)MySQL分区表使用方法 (4)MySQL执行计划分析 (5)电商场景下的常见业务SQL处理 (6)M ...
- vue的js文件中获取vue实例
1.main.js导出vue实例: var vue = new Vue({ el: '#app', router, components: { App }, template: '<App/&g ...
- MySQL字符集详解
Reference: https://www.cnblogs.com/wcwen1990/p/6917109.html MySQL字符集详解 一.字符集和校验规则 字符集是一套符合和编码,校验规 ...
- 【温暖】文龙回AICODER给老马送锦旗了
又是一个愉快的周末,AICODER第一批老学员文龙小伙伴.已经工作两个月,而且就业薪资12000+,文龙从之前月薪不足4000,一下子翻了三倍多的工资. 几个月的实习,让文龙掌握了大前端全栈的技术,在 ...
- x-www-form-urlencoded与multipart/form-data区别
转载声明: http://blog.chinaunix.net/uid-7210505-id-329700.html 在Flex中,UrlRequest中的contentType默认值为 applic ...
- Virtual配置
没有ifconfig yum upgrade yum install net-tools yum源配置: https://jingyan.baidu.com/article/215817f7aef2e ...
- VirtualBox通过Host-Only网络连接方式实现宿主机与虚拟机通信
适用情况 (1)没有联网, 不插网线 (2)宿主机直接连接宽带(无路由器) 情景: 宿主机 Windows 7 虚拟机 Windows XP 虚拟机安装了SQLServer2005,宿主机想连接使用虚 ...
- Android全面屏适配
什么是全面屏 概念 很多人可能把全面屏跟曲面屏混淆,其实这是两个不同的概念. 一般手机的屏幕纵横比为16:9,如1080x1920.1440x2560等,其比值为1.777777……,全面屏手机出现之 ...
- netty 对象序列化传输示例
package object.server.impl; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.Chann ...