2015-12-23 4 views
8

Я пытаюсь создать небольшое приложение электронной angular2 на основе this tutorialWebpack не может найти модуль «электрон»

Кажется, их некоторая ошибка с пакетирования WebPack, потому что я не могу требовать/импортировать электрон удаленного в моем компонент рендеринга.

в моем AppComponent я следующее

import {remote} from 'electron'; 

Мои Webpack Config

var path = require('path'); 
var webpack = require('webpack'); 
var CommonsChunkPlugin = webpack.optimize.CommonsChunkPlugin; 
var webpackTargetElectronRenderer = require('webpack-target-electron-renderer'); 

var config = { 
    debug: true, 

    devtool: 'source-map', 

    entry: { 
    'angular2': [ 
    'rxjs', 
    'reflect-metadata', 
    'angular2/core', 
    'angular2/router', 
    'angular2/http' 
    ], 
    'app': './src/app/renderer/bootstrap' 
}, 

    output: { 
    path: __dirname + '/build/', 
    publicPath: 'build/', 
    filename: '[name].js', 
    sourceMapFilename: '[name].js.map', 
    chunkFilename: '[id].chunk.js' 
    }, 

    resolve: { 
    extensions: ['','.ts','.js','.json', '.css', '.html'], 
    packageMains: ['webpack', 'browser', 'web', 'browserify', ['jam', 'main'], 'main'] 
    }, 

    module: { 
    loaders: [ 
     { 
     test: /\.ts$/, 
     loader: 'ts', 
     exclude: [ /node_modules/ ] 
     } 
    ] 
    }, 

    plugins: [ 
    new CommonsChunkPlugin({ name: 'angular2', filename: 'angular2.js', minChunks: Infinity }), 
    new CommonsChunkPlugin({ name: 'common', filename: 'common.js' }) 
    ] 
}; 

config.target = webpackTargetElectronRenderer(config); 
module.exports = config; 

Webpack бросками следующую ошибку

ERROR in ./src/app/renderer/components/app/app.ts 
(1,22): error TS2307: Cannot find module 'electron'. 
+0

Просто хотел упомянуть, что эта ошибка также может произойти, когда вы возвращаетесь к использованию более старой версии электрона (например, v0.30.6 для поддержки последовательного порта-электрона), когда они были все еще используя 'var app = require ('app');' и т. д. вместо 'const electronic = require ('electron');' - см. https://github.com/atom/electron/blob/v0.30.6 /docs/tutorial/quick-start.md – iX3

ответ

4

решил его

const electron = require('electron'); 
const remote = electron.remote; 
+1

Я не работаю для меня ... Я получаю синтаксическую ошибку возле неожиданного токена ('' var electronic = require ('./') '... любая идея? (Я использую angular2 с последним CLI на основе webpack) – daveoncode

+0

Это не работает для меня. По-прежнему получается «Неиспользуемая ошибка: не удается найти модуль« электрон »' – Hum4n01d

-1

Вы новичок в TypeScript? Вы его установили? Вы можете установить его:

npm install -g typescript 

ваших решений является Java-скрипт решения, который является хорошо хак, если это то, что вы ищете, но если вы хотите использовать машинопись, то вы должны быть в состоянии сделать это работайте с использованием «импорта».

ли учебник в: https://www.npmjs.com/package/typescript

Кроме того, проверьте: TS2307: Cannot find module 'angular2/core' while importing Angular2 on TypeScript

0

Попробуйте добавить target: "electron-renderer" к нижней части module.exports объекта в вашем WebPack конфигурации. (шахта была создана через ng eject через Angular CLI)

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