我有同样的问题,但有本地组件。
那是我的树:
app
|
- assets
|
- js
|
- app.jsx
|
- MainComponent.jsx
但是当我运行命令时:
macpro:app user$ browserify assets/js/app.jsx > tesapp.js
响应错误:
错误:找不到模块'MainComponent' '/用户/用户/ WebstormProjects / gowithme /应用程序/资产/ JS'
这是app.jsx文件的代码:
var React = require('react');
var ReactDOM = require('react-dom');
var MainComponent = require('MainComponent');
console.log("Test",MainComponent);
答案 0 :(得分:1)
这是因为您使用browserifyOptions
扩展程序。默认情况下,browserify无法识别未知扩展名。将options: {
transform: [['babelify', {presets: ['es2015', 'react']}]],
browserifyOptions: {
debug: true,
extensions: ['.jsx']
}
}
添加到您的grunt配置中,它可能会有所帮助:
.jsx
另外,我建议省略select * from event_schedule where event_id=? and bye_week=0 and date(convert_tz(event_date_time,'UTC','US/Pacific'))=date(convert_tz(now(), @@system_time_zone, 'US/Pacific'))
的使用。 No .jsx extension?
答案 1 :(得分:0)
当您使用.js
加载本地模块(即您自己的require
文件)时,需要提供相对路径:
var React = require('react');
var ReactDOM = require('react-dom');
var MainComponent = require('./MainComponent'); //added ./ so now the path is relative
console.log("Test",MainComponent);
使用绝对路径(如require('fs')
或require('react')
)时,节点将尝试加载{{1}中的本机模块(如fs
,path
等)或模块}}