如何从 webpacked JS 中排除 Typescript 设置所需的库
How to exclude from webpacked JS, a library that's required by the Typescript setup
感谢您的指导,我对深入 Typescript 比较陌生。诚然,我是一名服务器端研究员,但我喜欢 Typescript 提供的舒适感觉!感觉离家很近。
作为测试用例,我正在尝试 'baby steps' 将脚本添加到已经包含 jQuery 的主要项目中。此测试用例在其代码中导入 jQuery。
import $ = require("jquery");
class TestCase {
constructor(localeData) {
$('body').css('background', 'blue');
}
}
这会(使用 Typescript)编译成预期的格式
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const $ = require("jquery");
class TestCase {
constructor(localeData) {
$('body').css('background', 'blue');
}
}
除此之外,我还执行了这些命令:
npm install -g webpack
npm install ts-loader --save
并添加了这个 webpack.config.js
module.exports = {
entry: './testcase.ts',
output: {
filename: 'testcase.js'
},
resolve: {
extensions: ['.webpack.js', '.web.js', '.ts', '.js']
},
module: {
loaders: [
{test: /\.ts$/, loader: 'ts-loader'}
]
}
};
我此后 运行 'webpack' 并按预期获得,所有 jQuery 在我的小测试脚本之前。需要注意的是,我要插入它的项目已经包含 jQuery。
我该如何处理?我想我必须告诉 webpack 以某种方式排除这个导入?
谢谢!
嗯。好像就这么简单?
module.exports = {
entry: './testcase.ts',
output: {
filename: 'testcase.js'
},
resolve: {
extensions: ['.webpack.js', '.web.js', '.ts', '.js']
},
externals: {
"jquery": "jQuery",
},
module: {
loaders: [
{test: /\.ts$/, loader: 'ts-loader'}
]
}
};
感谢您的指导,我对深入 Typescript 比较陌生。诚然,我是一名服务器端研究员,但我喜欢 Typescript 提供的舒适感觉!感觉离家很近。
作为测试用例,我正在尝试 'baby steps' 将脚本添加到已经包含 jQuery 的主要项目中。此测试用例在其代码中导入 jQuery。
import $ = require("jquery");
class TestCase {
constructor(localeData) {
$('body').css('background', 'blue');
}
}
这会(使用 Typescript)编译成预期的格式
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const $ = require("jquery");
class TestCase {
constructor(localeData) {
$('body').css('background', 'blue');
}
}
除此之外,我还执行了这些命令:
npm install -g webpack
npm install ts-loader --save
并添加了这个 webpack.config.js
module.exports = {
entry: './testcase.ts',
output: {
filename: 'testcase.js'
},
resolve: {
extensions: ['.webpack.js', '.web.js', '.ts', '.js']
},
module: {
loaders: [
{test: /\.ts$/, loader: 'ts-loader'}
]
}
};
我此后 运行 'webpack' 并按预期获得,所有 jQuery 在我的小测试脚本之前。需要注意的是,我要插入它的项目已经包含 jQuery。
我该如何处理?我想我必须告诉 webpack 以某种方式排除这个导入?
谢谢!
嗯。好像就这么简单?
module.exports = {
entry: './testcase.ts',
output: {
filename: 'testcase.js'
},
resolve: {
extensions: ['.webpack.js', '.web.js', '.ts', '.js']
},
externals: {
"jquery": "jQuery",
},
module: {
loaders: [
{test: /\.ts$/, loader: 'ts-loader'}
]
}
};