Tepki-sortable-mixin browserify-shim global'e uymayan bir sorunum var: package.json dosyasındaki sortable bildirimi, Sortable modülüne neden oluyor Paketime paketlen. Diğer modüller ile benzer bir soruna girdim, bu yüzden bölümümde bir yapılandırma sorunu olabilir. Sadece sorunu göstermek için tepki ve reaksiyona-sortbable-mixin amacıyla gerektiren küçük bir test paketi oluşturduk:browserify-shim Sortable global reatable sortable-mixin tarafından tanınmıyor
package.json
{
"name": "test",
"version": "1.0.0",
"description": "Just a test",
"main": "index.js",
"dependencies": {
"react": "^0.14.8",
"sortablejs": "^1.4.2"
},
"devDependencies": {
"browserify-shim": "^3.8.12"
},
"browserify": {
"transform": [
"browserify-shim"
]
},
"browserify-shim": {
"react": "global:React",
"sortablejs": "global:Sortable",
"sortablejs/react-sortable-mixin": {
"depends": "sortablejs:Sortable"
}
}
}
index.js
"use strict";
var React = require('react');
var SortableMixin = require('sortablejs/react-sortable-mixin');
react-sortable-mixin.js (Sadece modülün ilk kısmı ...)
Yukarıda da belirtildiği gibi, ancak sıralanabilir dahil ediliyor ...% BROWSERIFYSHIM_DIAGNOSTICS=1 browserify index.js -t browserify-shim -o bundle.js
{ file: '/home/jlafosse/test/index.js',
info:
{ package_json: '/home/jlafosse/test/package.json',
packageDir: '/home/jlafosse/test',
shim: undefined,
exposeGlobals: { react: 'React', sortablejs: 'Sortable' },
browser: undefined,
'browserify-shim':
{ react: 'global:React',
sortablejs: 'global:Sortable',
'sortablejs/react-sortable-mixin': { depends: 'sortablejs:Sortable' } },
dependencies: { react: '^0.14.8', sortablejs: '^1.4.2' } },
messages:
[ 'Resolved "sortablejs/react-sortable-mixin" found in package.json to "/home/jlafosse/test/sortablejs/react-sortable-mixin"',
'Found depends "sortablejs" as an installed dependency of the package',
{ resolved:
{ '/home/jlafosse/test/sortablejs/react-sortable-mixin':
{ exports: null,
depends: { sortablejs: 'Sortable' } } } } ] }
{ file: '/home/jlafosse/test/index.js',
info:
{ package_json: '/home/jlafosse/test/package.json',
packageDir: '/home/jlafosse/test',
resolvedPreviously: true,
shim: undefined,
exposeGlobals: { react: 'React', sortablejs: 'Sortable' },
browser: undefined,
'browserify-shim':
{ react: 'global:React',
sortablejs: 'global:Sortable',
'sortablejs/react-sortable-mixin': { depends: 'sortablejs:Sortable' } },
dependencies: { react: '^0.14.8', sortablejs: '^1.4.2' } },
messages: [] }
ben paket dahil değildir Tepki çünkü küresel pullanma çalıştığını biliyorum:
(function (factory) {
'use strict';
if (typeof module != 'undefined' && typeof module.exports != 'undefined') {
module.exports = factory(require('./Sortable'));
}
else if (typeof define === 'function' && define.amd) {
define(['./Sortable'], factory);
}
else {
/* jshint sub:true */
window['SortableMixin'] = factory(Sortable);
}
})(function (/** Sortable */Sortable) { ...
İşte browserify gelen tanı çıkışıdır. Ayrıca benim index.js dosyasında sortablejs/react-sortable-mixin yerine sadece '(' sortablejs ') gerekiyorsa Sorb, beklediğim gibi pakete dahil OLMAYACAK, bu yüzden benim düşüncem yanlış mı yoksa modül mü? Reaksiyona karışabilir mikser formatı browserify-shim'e uymaz.
Herhangi bir yardım için teşekkür ederiz.
'Sortable' kitaplığınız genel olarak kullanılabilir, yani bir komut dosyası etiketiyle mi? Aynı 'package.json' dosyasında hem global: Sortable' hem de ./node_modules/sortablejs/Sortable.js: Sortable'ı kullanmanız mantıklı değildir. – YPCrumble
@YPCrumble - Evet Tarayıcı/istemci tarafında Sortable CDN'yi ekliyorum.Başlangıçta şunu denedim: "sortablejs/react-sortable-mixin": {"depends": "Sortable"} benim anlayışımın, bunun global "Sortable" referansı olduğunu söylemesiydi, ancak bu da işe yaramadı. . – Athan
Browserify shim 'transform' direktifini belirttiğinizi varsayar mıyım? 'Package.json' örneğinizden eksik. – YPCrumble