找不到模块 'react'
找不到模块 'react'
我正在尝试将React集成到现有的网页中。目前,我无法加载我的React应用程序。我的React应用程序有两个文件,目前它们的内容如下:
myApp.js
import React from 'react'; import ReactDOM from 'react-dom'; import MyComponent from './components/myComponent'; ReactDOM.render(, document.getElementById('root'));
myComponent.js
import React from 'react'; import ReactDOM from 'react-dom'; class MyComponent extends React.Component { render() { console.log('here'); return (Hello (from React)
); } } export default MyComponent;
如您所见,我在使用ES6。我决心在这个项目中使用ES6。因此,我在我的Gulp文件中使用Babel来打包我的React应用程序。我使用Gulp而不是Webpack是因为我的网站已经在使用Gulp。但是,我的package.json文件中的相关细节如下:
package.json
...
"devDependencies": {
"babel-preset-es2015": "^6.14.0",
"babel-preset-react": "^6.11.1",
"babelify": "^7.3.0",
"browserify": "^13.1.0",
"gulp": "^3.9.1",
"gulp-babel": "^6.1.2",
"gulp-clean-css": "^2.0.11",
"gulp-uglify": "^1.5.4",
"vinyl-source-stream": "^1.1.0"
}
然后,我使用以下任务来打包我的React应用程序:
gulpfile.js
gulp.task('buildApp', function() { return browserify({ entries: ['./app/myApp.js', './app/components/myComponent.js'] }) .transform("babelify", {presets: ['es2015', 'react']}) .bundle() .pipe(source('bundle.js')) .pipe(gulp.dest('./app')) ; });
当运行上述任务时,将生成bundle.js文件,内容如下:
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o
然后,在我尝试将该应用程序加载到的网页中,我有以下内容:
... ...
当我尝试在浏览器中加载时,我的React应用程序没有加载。我在控制台窗口中看到以下错误消息:
Uncaught Error: Cannot find module 'react'
我不明白为什么没有加载react。