Опубликуйте пакет npm, созданный с помощью webpack и babeljs. - PullRequest
0 голосов
/ 13 января 2019

Я создал очень простой javascript, который использует webpack для упаковки и npm для публикации проекта. Хотя я могу успешно построить и опубликовать проект, я не могу использовать экспортированную функцию.

Вот мой package.json:

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "./dist/test-prod.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack --display-error-details --mode production",
    "prepublishOnly": "npm run build"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^4.28.4",
    "webpack-cli": "^3.2.1"
  }
}

Вот конфиг веб-пакета:

const path = require('path');

module.exports = {
    context: path.resolve(__dirname),
    entry: './index.js', // Entry file that will be invoked by webpack first
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'test-prod.js'
    }
};

Вот тестовая функция, расположенная в папке 'src', которую я планирую экспортировать:

export const testFunc = () => alert('Hello World!');

Вот index.js:

const testFunc = require("./src/testFunc");

module.exports = {testFunc};

Это все и хорошо. Но после выполнения npm publish или npm link я не могу получить доступ к testFunc из другого проекта.

Я пытался import * as functions from 'test';, затем functions.testFunc() и import {testFunc} from 'test';. Оба не работают.

Пожалуйста, дайте мне знать, как правильно экспортировать функцию, используя webpack & npm, и получить к ней доступ из другого проекта. Мне нужен только уменьшенный JavaScript в моем опубликованном пакете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...