Добавить реакцию на машинописный проект
В настоящее время я пытаюсь добавить responseJS в свой проект веб-приложения, но сталкиваюсь с некоторыми трудностями.
Прежде всего, что вы должны сейчас:
Я использую TypeScript (v2.9) для разработки этого проекта, и все мои файлы используют внутренние модули, поэтому я не могу использовать
import * as React from 'react'
так как это сломает все мои внутренние модули... Чтобы добавить новые внешние модули, я использую файлы.d.ts и добавляю<script>
balise, содержащий скрипт, который я хочу использовать.Я использую Grunt в качестве диспетчера задач и grunt-ts для компиляции моих файлов машинописи.
Вот структура проекта:
Project
|
+-- Gruntfile.js
|
+-- package.json
|
+-- node_modules
|
+-- public
| |
| +-- webapp
| |
| +-- scripts
|
Скрипты папки содержат все мои наборы текста и библиотеки, которые я импортировал или загрузил (например, jQuery), и эти библиотеки работают отлично.
Что я пробовал до сих пор:
- Я добавил новый package.json в свою папку сценариев, чтобы я мог хранить все свои наборы в одном месте (тот, который я сделал сам, и тот, который доступен через npm). Я также добавил модуль реакции через npm. На данный момент все нормально, мое ворчание продолжается без ошибок. Но когда я загружаю свою страницу, у меня появляется ошибка,
require is not defined
,
После некоторых исследований я обнаружил, что мне нужно просмотреть файлы моих node_modules, чтобы я мог использовать их в своем браузере. Я использовал grunt-browserify с этим конфигом:
build: {
files: [
{
src: [],
dest : 'public/webapp/script/lib/bundle.js',
}],
options: {
require: ['react'],
browserifyOptions: {
plugin: [
['tsify', {target: 'es2015'}]
],
},
}
}
После этого ошибка по запросу исчезла, но теперь модуль React не определен. Как будто код в bundle.js не очень хорошо импортирован.