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的更多相关文章

  1. 脚手架搭建的vue项目里引入jquery和bootstrap

    引入jquery: 1.在cmd输入:npm install jquery,回车,等待.. 2.在webpack.base.conf.js里进行如下操作: 3.在webpack.prod.conf.j ...

  2. 在Web工程中引入Jquery插件报错解决方案

    在学习Jquery插件的时候,遇到一个问题就是新建web工程后在WebRoot下引入Jquery插件的时候报错,不知道为什么好纠结,但是项目能正常运行,后来找到解决方案,在这里给大家分享一下. 解决方 ...

  3. vue-cli中如何引入jquery

    前言 虽然vue不推荐直接操作DOM,而且也提供了操作DOM的方式.但是在某些时候还是要用到jquery(囧),那么如何在使用vue-cli的时候引入jquery呢? 安装 国内镜像 cnpm 安装 ...

  4. vue中引入jQuery和bootstrap

    一.引入jQuery: 首先在当前项目的根目录下(就是与package.json同目录),运行命令npm install jquery --save-dev   这样就将jquery安装到了这个项目中 ...

  5. 判断是否引入jQuery,没有则引入

    <script type="text/javascript"> window.jQuery || document .write("<script sr ...

  6. [转]如何在Angular4中引入jquery

    本文转自:https://blog.csdn.net/home_zhang/article/details/77992734 1.anjq是我的项目名称: 在anjq目录下打开dos命令窗口,然后依次 ...

  7. 使用jQuery插件时避免重复引入jquery.js文件

    当一个页面使用多个jQuery插件时,需要避免重复引入jquery.js文件,因为后面映入的jQuery.js文件中定义的jQuery对象会覆盖掉前面的jQuery对象,导致之前定义的jQuery插件 ...

  8. 在vue项目中引入jquery

    在vue项目中引入jquerycnpm install jquery --save在main.js中引入,加入下面这行代码:import 'jquery'注:有些项目是按需加载的,在main.js里面 ...

  9. seajs引入jquery框架问题

    seajs引入jquery框架时出现的问题 原因:由于seajs是遵循cmd规范,而jquery是遵循amd规范,所以在seajs调用jquery框架时,需要将amd转换为cmd 转换方法:jquer ...

随机推荐

  1. ubuntu 14.04 pytorch安装

    一. pytorch官网上有安装说明: 但是在安装过程中,由于pip版本为1.5.4,需要先对pip版本进行升级才行,升级步骤如下: 1. sudo apt-get remove python-pip ...

  2. AWS免费套餐服务器部署NETCORE网站

    之前的linode充了5美元,一个月就用完了,还是创建的最便宜的服务器的!!! 以前一直想用用aws的所谓的免费套餐服务器的,现在linode过期了,可以试着用用了 下面是我的操作流程,包含错误及解决 ...

  3. 常用xpath选择器和css选择器总结

    xpath选择器 表达式 说明 article 选取所有article元素的所有子节点 /article 选取根元素article article/a 选取所有属于article的子元素的a元素 // ...

  4. hdoj:2052

    #include <iostream> #include <string> using namespace std; int main() { int n, m; while ...

  5. Oracle分析函数-nulls first/nulls last

    select * from criss_sales; 通过rank().dense_rank().row_number()对记录进行全排列.分组排列取值但有时候,会遇到空值的情况,空值会影响得到的结果 ...

  6. Linux服务器重启后eureka报错

    在Linux服务器重启后,首次启动应用时查看eureka注册中心,报错 EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP W ...

  7. Ubuntu 16.10 server 相关

    1)安装图形化界面 sudo apt-get install xinit sudo apt-get install gnome 2)启用root账号 ① sudo passwd root ② 修改/e ...

  8. 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 ...

  9. BarTender安装常见问题集结

    很多人在安装BarTender时,会出现各种安装程序信息警告提示,导致软件无法继续安装下去,那么针对这些Bartender安装问题我们要怎么正确解决呢?下面,小编将BarTender安装失败常见问题, ...

  10. count(1)、count(*)与count(列名)的执行区别

    执行效果: 1.  count(1) and count(*) 当表的数据量大些时,对表作分析之后,使用count(1)还要比使用count(*)用时多了! 从执行计划来看,count(1)和coun ...