Как мне отладить Нейтралино в VS Code? - PullRequest
0 голосов
/ 01 апреля 2020

Я новичок в Nuetralino JS и веб-разработчике в целом, так что, пожалуйста, go спокойно. Я попытался следовать этому уроку с некоторыми небольшими изменениями:

https://neutralino.js.org/docs/# / gettingstarted / firstapp

и нашел «Шаг 5 - Отладка» слишком расплывчатым, чтобы полезно. Как бы я go о "переключении режима нейтралино в браузер?" Кто-нибудь сможет исправить мой запуск. json? Для Нейтралино, похоже, ничего не было, но нашел другое для веб-пакета и т. Д. 1050 *, но конфиги там не работали.

Я могу позвонить

npm run build

, и проект успешно собирается, я могу запустить его, но просто не могу его отладить. То есть:

./neutralino-linux

работает! Но отладчик не подключен: (

Пожалуйста, помогите, мне нужен эксперт!

Шаги: 1) Создать проект Neutralino JS:

neu create myapp --template ts

2) В Код VS, Файл -> Открыть папку -> Выбрать каталог «myapp» в файловом браузере

3) В «Код VS» выполнить -> Добавить конфигурацию

запуск. json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "runtimeArgs": ["--harmony"],
            "request": "launch",
            "name": "Launch Webpack",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "sourceMaps": true,
            "program": "${workspaceFolder}/src/app.ts",
            "preLaunchTask": "npm: build",
            "smartStep": true,
            "internalConsoleOptions": "openOnSessionStart",
            "outFiles": [
                "${workspaceFolder}/dist/**/*.js"
            ],
            "cwd": "${workspaceFolder}"
        }
    ]
}

4) Измените файл tsconfig. json

tsconfig. json

{
    "compilerOptions": {
        "outDir": "./dist/",
        "noImplicitAny": false,
        "module": "es6",
        "moduleResolution": "node",
        "target": "es6",
        "allowJs": true,
        "experimentalDecorators": true,
        "emitDecoratorMetadata": true,
        "types": ["reflect-metadata"],
        "lib": ["es6", "dom"],
        "sourceMap": true
    },
    "include": [
        "./src/**/*"
    ]
}

5) Добавьте '. js' к расширениям в веб-пакете. config. js

webpack.config. js

const path = require('path');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');

module.exports = {
  entry: path.resolve(__dirname, './src/app.ts'),
  devtool: 'source-map',
  module: {
    rules: [
      {
        test: /\.ts?$/,
        use: 'ts-loader',
        exclude: [
          /node_modules/,
          /deps/
        ],
      },
      {
        test: /\.css$/i,
        use: [
          {
            loader: MiniCssExtractPlugin.loader,
          },
          'css-loader',
        ],
      },

    ],
  },
  resolve: {
    extensions: ['.ts', '.js'],
  },
  output: {
    filename: 'app.js',
    path: path.resolve(__dirname, './app/assets'),
  },
  plugins: [
    new MiniCssExtractPlugin({
      filename: 'app.css'
    }),
  ],
};

6) npm установить пакет "другие зависимости"

. json

{
  "name": "neutralinojs-typescript",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "webpack -p --config webpack.config.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "css-loader": "^3.4.0",
    "extract-text-webpack-plugin": "^3.0.2",
    "mini-css-extract-plugin": "^0.9.0",
    "ts-loader": "^6.2.1",
    "typescript": "^3.7.4",
    "webpack": "^4.41.4",
    "webpack-cli": "^3.3.10"
  },
  "dependencies": {
    "inversify": "^5.0.1",
    "reflect-metadata": "^0.1.13",
    "rxjs": "^6.5.4",
    "rxjs-compat": "^6.5.4",
    "source-map": "^0.7.3",
    "whatwg-fetch": "^3.0.0"
  }
}

Заранее спасибо!

1 Ответ

0 голосов
/ 01 апреля 2020

Лучшее, что я придумал, это: nuetralino- linux должен быть вызван исполняемый файл (и некоторые недокументированные волхвы c в фоновом режиме с лесами) и "mode" в настройках. json должен быть установить для «браузера».

запуск. json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "chrome",
            "request": "attach",
            "name": "Attach to Chrome",
            "port": 5006,
            "webRoot": "${workspaceFolder}",
            "preLaunchTask": "debug",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "sourceMaps": true,
            "smartStep": true,
        }
    ]
}

задач. json

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558 
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "type": "npm",
            "script": "build",
            "group": "build",
            "problemMatcher": [],
            "label": "build",
            "isBackground": false
        },
        {
            "type": "shell",
            "command": "./neutralino-linux",
            "label": "debug",
            "dependsOn": "build",
            "isBackground": true
        }
    ]
}
...