Я сталкиваюсь с проблемой, с которой все уже сталкивались, но, несмотря на все предложенные решения, никто не исправляет мою проблему.
На самом деле у нас есть гибридное приложение (AngularJS и Angular8), использующее Webpack4 и ts-loader. Мы загрузили все наши библиотеки, используя теги, и все работало нормально.
Моя настоящая работа состоит в том, чтобы удалить эти теги сценариев и установить вместо них node_modules. Все работает, кроме jquery.
Действительно, в режиме разработки все нормально, потому что я использую devtool: 'eval-source-map', и в этой ситуации jquery встречается везде, но когда я хочу сгенерировать свой пакетный файл вВ рабочем режиме без использования исходной карты jquery больше не обнаруживается.
А факт использования исходной карты значительно увеличивает размер файла.
Вот мои конфиги веб-пакета:
const path = require('path');
const webpack = require('webpack');
module.exports = {
entry: {
app: path.join(__dirname, '/main.ts'),
dashboard: path.join(__dirname, '/main.dashboard.ts'),
},
// devtool: 'eval-source-map',
output: {
filename: '[name].bundle.js',
publicPath: "/dist",
pathinfo: true,
},
module: {
rules: [
{
test: /\.tsx?$/,
loader: 'ts-loader',
exclude: /node_modules/,
},
{
test: /\.(html)$/,
use: {
loader: 'html-loader',
}
},
{
test: /\.css/i,
use: [
'style-loader',
'css-loader'
]
},
{
test: /\.(png|woff|woff2|eot|ttf|svg)$/,
loader: 'url-loader?limit=100000'
}
]
},
plugins: [
new webpack.ContextReplacementPlugin(
/(.+)?angular(\/)core(.+)?/,
path.join(__dirname, '/'), //location of src
{} //a map of our routes
),
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
})
],
resolve: {
extensions: [".webpack.js", ".web.js", ".tsx", ".ts", ".js"]
}
};
В моем файле package.json:
"dependencies": {
...
"jquery": "^3.1.0"
},
"devDependencies": {
"@types/jquery": "^3.3.31"
},
Буду признателен за любую помощь, Заранее спасибо,