Я хочу использовать Webpack в своих проектах, но когда я запускаю

npm run dev

, Я получаю эту ошибку.

ОШИБКА в ./~/sqlite3/~/node-pre-gyp/lib/node-pre-gyp.js Модуль не найден: Ошибка: не удается разрешить «файл» или «каталог» ../package в / Users / caizongming / Flowerhop / -DBLab-Alarm-Project- / Server / node_modules / sqlite3 / node_modules / node-pre-gyp / lib @ ./~/sqlite3/~/node-pre-gyp/lib/node-pre-gyp.js 60 : 16-37

ОШИБКА в ./~/sqlite3/~/node-pre-gyp/lib/info.js Модуль не найден: Ошибка: не удается разрешить модуль aws-sdk в / Users / caizongming / Flowerhop / -DBLab-Alarm-Project- / Сервер / node_modules / sqlite3 / node_modules / node-pre-gyp / lib @ ./~/sqlite3/~/node-pre-gyp/lib/info.js 14: 14-32

ОШИБКА в ./~/sqlite3/~/node-pre-gyp/lib/publish.js Модуль не найден: Ошибка: не удается разрешить модуль aws-sdk в / Users / caizongming / Flowerhop / -DBLab-Alarm-Project- / Сервер / node_modules / sqlite3 / node_modules / node-pre-gyp / lib @ ./~/sqlite3/~/node-pre-gyp/lib/publish.js 17: 14-32

ОШИБКА в ./~/sqlite3/~/node-pre-gyp/lib/unpublish.js Модуль не найден: Ошибка: не удается разрешить модуль aws-sdk в / Users / caizongming / Flowerhop / -DBLab-Alarm-Project- / Сервер / node_modules / sqlite3 / node_modules / node-pre-gyp / lib @ ./~/sqlite3/~/node-pre-gyp/lib/unpublish.js 15: 14-32

ОШИБКА в ./~/sqlite3/~/rc/index.js Сборка модуля завершилась неудачно: Ошибка: Ошибка синтаксического анализа: Строка 1: Неожиданный неверный токен при throwError (/ Users / caizongming / Flowerhop / -DBLab-Alarm-Project- / Server / node_modules / jsx-loader / node_modules / jstransform / node_modules / esprima-fb / esprima.js: 2823: 21) в scanPunctuator (/ Users / caizongming / Flowerhop / -DBLab-Alarm-Project- / Server / node_modules / jsx-loader / node_modules / jstransform / node_modules / esprima-fb / esprima.js: 1011: 9) заранее (/ Users / caizongming / Flowerhop / -DBLab-Alarm-Project- / Server / node_modules / jsx-loader / node_modules / jstransform / node_modules / esprima-fb / esprima.js: 1747: 16) в peek (/ Users / caizongming / Flowerhop / -DBLab-Alarm-Project- / Server / node_modules / jsx-loader / node_modules / jstransform / node_modules / esprima-fb / esprima. js: 1773: 21) в parseProgram (/Users/caizongming/Flowerhop/-DBLab-Alarm-Project-/Server/node_modules/jsx-loader/node_modules/jstransform/node_modules/esprima-fb/esprima.js:6535:9) в Object.parse (/ Users / caiz ongming / Flowerhop / -DBLab-Alarm-Project- / Server / node_modules / jsx-loader / node_modules / jstransform / node_modules / esprima-fb / esprima.js: 7713: 23) в getAstForSource (/ Users / caizongming / Flowerhop / -DBLab -Alarm-Project- / Server / node_modules / jsx-loader / node_modules / jstransform / src / jstransform.js: 244: 21) в Object.transform (/ Users / caizongming / Flowerhop / -DBLab-Alarm-Project- / Server / node_modules / jsx-loader / node_modules / jstransform / src / jstransform.js: 267: 11) в Object.transform (/ Users / caizongming / Flowerhop / -DBLab-Alarm-Project- / Server / node_modules / jsx-loader / node_modules / jstransform / src / simple.js: 105: 28) в Object.module.exports (/Users/caizongming/Flowerhop/-DBLab-Alarm-Project-/Server/node_modules/jsx-loader/index.js:15:31) @ ./~/sqlite3/~/node-pre-gyp/lib/info.js 11: 13–26

Это мой WEBPACK.CONFIG.js

var path = require ('path');

module.exports = {
  entry: './server.js',
  output: {
    filename: 'bundle.js'
  },
  module: {
    loaders:[
      { test: /\.css$/, loader: "style!css" },
      { test: /\.js$/, loader: 'jsx-loader?harmony' },
      { test: /\.json$/, loader: 'json-loader' }
    ]
  },
  resolve: {
    fallback: path.join(__dirname, "node_modules"),
    extensions : ['', '.js', '.jsx']
  },
  resolveLoader: { fallback: path.join(__dirname, "node_modules") },
  target: 'node'
};

Это package.json.

{
  "name": "biocenter",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "directories": {
    "test": "test"
  },
  "dependencies": {
    "body-parser": "^1.15.0",
    "express": "^4.13.4",
    "request": "^2.72.0",
    "sqlite3": "^3.1.4",
    "querystring": "^0.2.0",
    "should": "^8.3.2"
  },
  "devDependencies": {
    "brfs": "^1.4.3",
    "json-loader": "^0.5.4",
    "mocha": "^2.4.5",
    "transform-loader": "^0.2.3",
    "webpack": "^1.13.1"
  },
  "scripts": {
    "test": "mocha",
    "start": "node server.js",
    "dev": "webpack-dev-server --devtool eval --progress --colors",
    "deploy": "NODE_ENV=production webpack -p"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/FlowerHop/-DBLab-Alarm-Project-.git"
  },
  "author": "Flowerhop",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/FlowerHop/-DBLab-Alarm-Project-/issues"
  },
  "homepage": "https://github.com/FlowerHop/-DBLab-Alarm-Project-#readme"
}

Кто-нибудь может помочь мне решить эту проблему?

4
Flowerhop 1 Июн 2016 в 06:56
Я получаю аналогичную ошибку при отправке "ionic serve" :-(
 – 
Kieran Ryan
12 Окт 2016 в 19:47
 – 
Kieran Ryan
12 Окт 2016 в 19:51
2
Вы пытались пометить их как внешние? webpack.github.io/docs/library-and-externals.html
 – 
Sean Chase
14 Окт 2016 в 03:13
Удалось ли вам решить эту проблему?
 – 
codingninja
16 Май 2017 в 22:24

2 ответа

Я столкнулся с аналогичной проблемой с lzma-native, который также использует node-pre-gyp. Проблема в том, что все они напрямую требуют node-pre-gyp в модуле. Я пытаюсь заменить строку кода, использующую node-pre-gyp

var nodePreGyp = require('node-pre-gyp');
var path = require('path');
var binding_path = nodePreGyp.find(path.resolve(path.join(__dirname,'./package.json')));
var native = require(binding_path);

В

var native = require('pre-gyp-find')('lzma_native');
// notice that the parameter here is the binary module name in package.json of lzma-native

И это наконец сработало для меня. Однако это решение требует от нас изменения исходного кода и добавления дополнительной зависимости pre-gyp-find. Может быть, вы могли бы отправить автору пиар об этом.

Это не лучшее решение, поскольку на самом деле оно не решает, а позволяет избежать проблемы.

1
CI010 16 Мар 2018 в 07:06

Я заметил, что во время установки npm все кажется правильным, но на самом деле во время установки произошла ошибка. Моя проблема была исправлена ​​с помощью "npm install sqlite3 --build-from-source"

0
Seirddriezel 28 Дек 2017 в 00:45