2016-11-15 2 views
1

Я пытаюсь использовать модули узла телеграммы (telegram-js, telegram-mt-node, telegram-tl-node) внутри webpack в клиентском веб-приложении.Uncaught ReferenceError: require не определен webpack с телеграммой

В настоящее время я получаю эту ошибку:

Uncaught ReferenceError: require is not defined 

ошибка указывает на этой линии:

module.exports = require("crypto"); 

Я глобальный поиск через мои node_modules и «крипто» встречается только внутри WebPack и меньше модулей узлов, а не телеграмм. Я не могу найти строку в любом месте, которое фактически соответствует строке, на которую ссылается.

В файле сборки webpack require() обычно изменяется на _webpack_require(). Таким образом, кажется, что webpack запутался во время процесса сборки.

Вот мой webpack.config

var path = require('path'); 
var webpack = require('webpack'); 

var libraryName = 'webapp'; 
var version = '1.0'; 

var config = { 
    entry: './app-src/proto.index.js', 
    output: { 
    path: __dirname+"/build/lib/", 
    publicPath: "/build/", 
    filename: libraryName+'.all.js', 
    library: libraryName, 
    libraryTarget: 'umd', 
    umdNamedDefine: true 
    }, 
    target: 'node', 
    node: { 
     fs: 'empty', 
     net: 'empty', 
     tls: 'empty', 
     crypto: 'empty' 
    }, 
    resolve: { 
    root: [ 
     path.resolve('./app-src/'), 
     path.resolve('../cmn/'), 
    ] 
    }, 
    module: { 
    loaders: [ 
     { test: /\.json$/, loader: "json-loader" }, 
     // JS and JSX 
     { 
      test: /.jsx?$/, 
      loader: 'babel-loader', 
      exclude: /node_modules/, 
      query: { 
       presets: ['es2015', 'react'], 
       retainLines: true 
      } 
     }, 
     { 
      test: /\.(woff|woff2|eot|ttf)$/, 
      loader: 'file-loader?name=fonts/[name].[ext]' 
     } 
    ] 
    }, 

}; 

module.exports = config; 

телеграмма-мт-узел, телеграмма-ТЛ-узел оба были написаны с browsify в виду, как сделать использование requirish, например. Я удалил все ссылки на requirish и исправил требуемые проблемы, которые webpack имел во время процесса сборки. Ошибка, с которой я столкнулся, во время выполнения в браузере.

Любая помощь приветствуется.

ответ

0

Получается, что телеграмма node_modules была написана для браузера, а не для webpack. Переключилось в менеджер по сборке браузеров, и все получилось.

Смежные вопросы