Как интегрировать NewRelic в сервер Node Typescript Express, связанный с Webpack? - PullRequest
0 голосов
/ 07 ноября 2019

Честно говоря, я все это перепробовал. Я не слишком хорош в 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

...