Честно говоря, я все это перепробовал. Я не слишком хорош в Webpack, однако, похоже, с годами я неплохо справляюсь с настройкой новых проектов.
То, что я сейчас не могу сделать, это настроить службу NewRelic в существующем приложении Node / Typescript / Express / Webpack.
В настоящее время мое приложение красиво упаковано в один файлв папке my / dist и работает быстро и ловко. Похоже, что этот «агент узла», выпущенный New Relic, плохо работает с импортом Typescript.
Webpack Config
const path = require('path');
const webpack = require('webpack');
const nodeExternals = require('webpack-node-externals');
const NodemonPlugin = require ('nodemon-webpack-plugin');
module.exports = (env = {}) => {
const config = {
entry: ['./src/app.ts'],
mode: env.development ? 'development' : 'production',
target: 'node',
devtool: env.development ? 'inline-source-map' : false,
resolve: {
extensions: ['.ts', '.js'],
modules: ['node_modules', 'src', 'package.json'],
},
module: {
rules: [
{
test: /\.ts$/,
use: ['ts-loader', 'eslint-loader'],
// exclude: /node_modules/,
},
],
},
plugins: [],
externals: [ 'newrelic', nodeExternals() ]
};
if (env.nodemon) {
config.watch = true;
config.plugins.push(new NodemonPlugin())
}
return config;
};
- существуетстандартный файл /project_root/.newrelic
- CircleCi запускает этот проект и запускает сценарий "build: ci" из package.json ==> "webpack"
- выводом является / dist / main. js
ссылки
https://docs.newrelic.com/docs/agents/nodejs-agent/installation-configuration/install-nodejs-agent https://docs.newrelic.com/docs/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration https://discuss.newrelic.com/t/node-agent-fails-with-webpack/24874