2017-05-01 16 views
6

Tôi mới phản ứng. Ban đầu tôi bắt đầu sử dụng create-react-app. Tên tệp là index.js theo mặc định. Sau đó, tôi đổi tên tệp thành index.jsx.Quy ước đặt tên tệp phản hồi cho jsx

Khi tôi cố gắng khởi động ứng dụng bằng cách sử dụng npm start Tôi nhận được lỗi dưới đây.

> react-scripts start 

Could not find a required file. 
    Name: index.js 
    Searched in: D:\WorkSpace\React\chat\src 

npm ERR! Windows_NT 6.1.7601 
npm ERR! argv "D:\\Applns\\nodejs\\node.exe" "D:\\Applns\\nodejs\\node_modules\\ 
npm\\bin\\npm-cli.js" "start" 
npm ERR! node v6.10.0 
npm ERR! npm v3.10.10 
npm ERR! code ELIFECYCLE 
npm ERR! [email protected] start: `react-scripts start` 
npm ERR! Exit status 1 
npm ERR! 
npm ERR! Failed at the [email protected] start script 'react-scripts start'. 
npm ERR! Make sure you have the latest version of node.js and npm installed. 
npm ERR! If you do, this is most likely a problem with the chat package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 

Cách giải quyết vấn đề này. Làm thế nào tôi có thể làm cho nút để có các tập tin jsx.

Trả lời

0

Tệp có phần mở rộng đó đang được một tệp khác nhập. Tiện ích đã thay đổi nên tra cứu sẽ không thành công. Ngoài ra, React không cần các tệp có .jsx để hoạt động. Vì vậy, chỉ đơn giản bằng cách chuyển đổi phần mở rộng tập tin trở lại nên làm việc. Tôi chưa bao giờ sử dụng create-react-app nhưng nếu bạn không làm cho nó hoạt động với .jsx, bạn có thể sẽ phải thực hiện một số cấu hình bổ sung ở trên cấu hình mặc định của nó. Tôi sẽ kiểm tra các tài liệu cho việc này.

+0

Thành phần ReactJS cần nằm trong tệp .jsx phải không? như một tiêu chuẩn? –

+0

Nó không phải là một yêu cầu, nhưng một số người thích nó. Những người khác làm cho lập luận rằng phép biến đổi 'jsx' chỉ là một trong các biến đổi xảy ra trên tệp để làm cho nó hợp lệ javascript có thể chạy trong trình duyệt, và do đó không có ý nghĩa khi đặt tên tệp khác nhau vì nó. Cá nhân tôi không có bất kỳ cảm xúc mạnh mẽ nào cả, nhưng thường chỉ với các tệp '.js' vì vậy tôi không cần thay đổi nó sau này nếu cần thêm một số cú pháp' jsx'. –

0

đổi tên index.js thay vì index.jsx nó sẽ làm việc properply như tôi đang sử dụng tạo-eact ứng dụng

+0

Các thành phần ReactJS cần nằm trong các tệp .jsx phải không? như một tiêu chuẩn? –

+0

không cần thiết nếu bạn đang sử dụng ứng dụng tạo phản ứng –

0

Như @KeithA đề cập - bạn cần cấu hình bổ sung. Trong webpack.config.js của bạn trong đối tượng resolve:

resolve: { 
///...some other configurations will go here ... 

    extensions: [ "", ".js", ".jsx" ] 
},